帮我看下这个C语言程序有什么问题,一编译运行就停止啊!!急。我按答案编译的都有错误。

2024-11-22 22:10:40
推荐回答(2个)
回答(1):

int a[10],i=0,j ;

放在上面

while(scanf("%d",&a[i++])!=EOF);

要改成这样a[i++]前加个取地址符&

………………

int main()

{  

   int a[10],i=0,j ;

   printf("\nplease enter some integers(<=10):\n");

   printf("end mark :press Ctrl+z \n");

   while(scanf("%d",&a[i++])!=EOF);

   ………………

回答(2):

程序没有什么大问题,只是你犯了一个致命的错误:"a[i++]"前面少了一个取地址符"&",因为a[i++]是整型数组所以前面必须加上"&",还有你的编程习惯也不是太好,常量和变量的定义最好放在前面,甚至有时候必须放在前面否则就会出问题,程序中使用适当的空格显得一目了然,看起来也美观.下面是完整的程序:

#include
#include
int main ()
{
int a[10], i=0, j ;

printf ("\nplease enter some integers (<=10):\n");
printf ("end mark :press Ctrl+z \n");
while (scanf("%d",&a[i++]) != EOF);
for (j=0, i=i-2; i>=0; j++)
{
if (j%16 == 0)
printf ("\n");
printf ("%d\t",a[i--]);
}
printf ("\n");
return 0;
}
希望能帮到你!