是否可以像这样运行scanf?

时间:2014-10-29 22:36:19

标签: c scanf

#include <stdio.h>
int main()
{
    int a,i,b,c,d,e;        
    array[5]["b","c","d","e"]; // defining input characters as int


    for(i=1;i<=a;i++)
    {
        for(j=0;j<=a;j++)
        {
            printf("Input number %d ",i);
            scanf("%d",&array[j]);   // every loop it goes diffrent valuable
        }
    }

    printf("Your numbers %d"b,c,d,e,);
    return 0;
}
  

我对你的评论做了一些修改。       我想将每个数字分配给不同的变量。

2 个答案:

答案 0 :(得分:1)

我认为这就是你要做的事情:

int main() {

    int numList[5];
    int i;
    for(i = 0; i < 5; i++) {
        printf("Input number %d ",i);
        scanf("%d",&a[i]);
    }
    printf("Your numbers: ");
    for(i = 0; i < 5; i++) {
         printf("%d, ",a[i]);
    }
    printf("\n");
}

我用于打印的方法快速且随意,但您也可以使用:

printf("Your numbers are: %d,%d,%d,%d,%d.\n",a[0],a[1],a[2],a[3],a[4]);

得到相同的结果。

对于printf函数:1%d表示您需要在引用后列出1个整数,2表示2,依此类推。

绝对读取数组,它们可以节省很多时间。

另请注意

中的第二个命令
  

有(ⅰ= 1; I = A;我++)

将a的值赋给i,这是无意义的。这也将导致for循环内容被运行,除非由于未按照FilipeGonçalves所指出的那样进行初始化而失败。

答案 1 :(得分:0)

#include <stdio.h>

int main(){
    int **x;
    int i, a, b, c, d, e;
    int *vars[] = {&b, &c, &d, &e, &a};
    x = vars;
    for(x = vars; *x != &a; x++){
        scanf("%d", *x);
    }
    printf("%d, %d, %d, %d\n", b, c, d, e);
    return 0;
}