各位哥哥姐姐帮小弟解道小题
main(){
int a[10];
int i;
for(i=0;i<10;i++);
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
一个简单的小程序 可为什么运行的结果是
输入1 2 3 4 5 6 7 8 9 10
得到的结果却是-46 1170 72 0 0 -36 1371 0 64 3129
令人郁闷啊!!
搜索更多相关的解决方案:
哥哥
----------------解决方案--------------------------------------------------------
for(i=0;i<10;i++);
把这句的;去掉
----------------解决方案--------------------------------------------------------
你写的这道程序肯定没错``可能是编辑器的问题``别担心``没错``
----------------解决方案--------------------------------------------------------
2楼的是对的,你得for(i=0;i<10;i++);加了冒号实际上跟后边的scanf一点关系都没有,相当于你输的那么多数字全是赋给了a[10]了,你最后要求输出a[0]到a[9],他们得值不确定,所以错了
----------------解决方案--------------------------------------------------------
以下是引用神vLinux飘飘在2006-2-8 10:49:00的发言:
for(i=0;i<10;i++);
把这句的;去掉
for(i=0;i<10;i++);
把这句的;去掉
如果把这句话去掉,那数组怎样全部输出,你有没有认真看
----------------解决方案--------------------------------------------------------
他说的是把那句的分号去掉 呵呵 你有没有认真看
----------------解决方案--------------------------------------------------------
yes,哈,不好意思啦,看错了
----------------解决方案--------------------------------------------------------
谢谢各位哥哥姐姐们的指导 小弟明白了
----------------解决方案--------------------------------------------------------