敬请高手帮忙编程问题
main(){int n,i,a[100];
clrscr();
printf(" please input the n\n");
scanf(" %d", &n);
for(i=1;i<=n;i++)
{printf(" please input the data\n");
scanf(" %d\n", &a[i]);
}
for(i=1;i<=n;i++)
{printf(" %d", a[i]);}
}
我这个是一个初始化一个动态数组的小程序,但是并没有得到预期的效果。我不明白为什么执行的一个FOR语句的第一次循环是执行2次SCANF语句,其余循环都是只执行一次SCANF语句。我想了2天依然没有想明白,请高手指点迷津。
----------------解决方案--------------------------------------------------------
不明白你说的意思~
不过你的数组有问题,缺少a[0],多出来了a[100]
----------------解决方案--------------------------------------------------------
scanf(" %d\n", &a[i]);
改
scanf(" %d", &a[i]);
试试看
----------------解决方案--------------------------------------------------------
你看一下,行不行
main(){int n,i,a[100];
clrscr();
printf("please input the n\n");
scanf("%d",&n);
printf("please input the data\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{printf("%d\n",a[i]);
}
}
----------------解决方案--------------------------------------------------------
在输入数据的时候,注意输一下,按一下空格再输
----------------解决方案--------------------------------------------------------