无法在c中显示从键盘输入的数组

时间:2012-04-10 09:55:30

标签: c

我是c的新手,我正在尝试编写一个c程序,使用scanf从键盘输入10个整数值,然后使用printf打印它们,但结果不正确。这是代码:

   #include<stdio.h>
    #include<conio.h>
    main(){
     int x[10];
     printf("\n\n\t\t PRGRAM THAT CAPTURES AND PRINTS 10 SCORES");
     for(int i=1;i<=10;i++){
     printf("\n\tEnter Score %d", i);
     scanf("%d",x);
    }
     printf("\n\t The entered scores are: %d",x[i]);
     return(0);
    }

给出的输出是一个四位数字,如8731但我希望有类似1234567890.请帮助

3 个答案:

答案 0 :(得分:1)

您需要创建一个新的for循环来显示值,就像您在阅读时一样。

PS:更好地格式化你的代码,稍后你会感谢它。

PS2:尽量避免conio.h,这不是标准,你甚至不需要代码。

PS3:你的代码也错了。应该是for(int i=0;i<10;i++)。数组从0size-1,而不是从1size。 C编译器将警告您i[10]是您的数组的无效索引。

答案 1 :(得分:0)

试试这个:

    #include<stdio.h>
    #include<conio.h>
    int main(){
     int x[10];
     printf("\n\n\t\t PRGRAM THAT CAPTURES AND PRINTS 10 SCORES");
     for(int i=0;i<10;i++){ //Change 1
         printf("\n\tEnter Score %d", i);
         scanf("%d",&x[i]); //Change 2
      }
     //Change 3
     for (int i=0; i<10; i++) 
         printf("\n\t The entered scores are: %d",x[i]);
     return(0);
    }

答案 2 :(得分:0)

   #include<stdio.h>
    #include<conio.h>

标题<conio.h>不是标准的。如果不使用它,可以获得更好的可移植性。无论如何,你的程序不会使用任何东西。

    main(){

函数main()返回int。养成明确说法的习惯(你也可能习惯于客观地指明它不需要参数)。

     int x[10];
     printf("\n\n\t\t PRGRAM THAT CAPTURES AND PRINTS 10 SCORES");

为了在所有实施中更好地使用printf(),请使用'\n'结束每个实施。否则输出可能会出现乱序。

     for(int i=1;i<=10;i++){
     printf("\n\tEnter Score %d", i);
     scanf("%d",x);

尝试始终在循环中读取数组中的相同位置?

    }
     printf("\n\t The entered scores are: %d",x[i]);

元素x[i]不存在。在代码的这一点上,i大于最大的合法数组索引。

     return(0);
    }