当前位置: 代码迷 >> C语言 >> 初学者问一个傻傻的问题
  详细解决方案

初学者问一个傻傻的问题

热度:115   发布时间:2005-03-10 12:49:00.0
初学者问一个傻傻的问题

想将输入的10个数反序打印出,但写了下面这个程序后,数组的第一个数老是不正确,还望各位指点迷津啊,谢谢啦!小生初来乍到,破多疑惑啊! #include <stdio.h>

main() { int a[10]; int i,j;

for (i = 1; i < 10; i++) { scanf("%d\n",&a[10-i]); } printf("%d\n",a[0]);

for (j = 0; j < 10; j++) printf("%d\t",a[j]);

}

搜索更多相关的解决方案: 傻傻的  

----------------解决方案--------------------------------------------------------
scanf("%d\n",&amp;a[10-i])/*当i=9得时候,输入得值是a[1],而定义a[10],数字得第一个数应该是a[0],,所以a[0]并没有值,我只是这么想想*/
----------------解决方案--------------------------------------------------------
不好意思,是数组,不是数字
----------------解决方案--------------------------------------------------------

改动两处! #include <stdio.h> main() { int a[10]; int i,j;

for (i = 1; i <= 10; i++) //change { scanf("%d",&a[10-i]); //change } printf("%d\n",a[0]);

for (j = 0; j < 10; j++) printf("%d\t",a[j]); }


----------------解决方案--------------------------------------------------------
以下是引用skycanny在2005-3-10 13:40:47的发言:

改动两处! #include <stdio.h> main() { int a[10]; int i,j;

for (i = 1; i <= 10; i++) //change { scanf("%d",&a[10-i]); //change } printf("%d\n",a[0]);

for (j = 0; j < 10; j++) printf("%d\t",a[j]); }

兄弟不好意思,你范了个错误,在C语言里好像数组是从0开始的,定义时,下标表示数组的长度,所以你在输入数据时,往a[10]中输入数据时,会出现错误的所以要改一下 #include <stdio.h> main() { int a[10]; int i,j;

for (i = 0; i < 10; i++) //change { scanf("%d",&a[9-i]); //change }

for (j = 0; j < 10; j++) printf("%d\t",a[j]); }


----------------解决方案--------------------------------------------------------
以下是引用编程呆子在2005-3-10 14:06:06的发言:

兄弟不好意思,你范了个错误,在C语言里好像数组是从0开始的,定义时,下标表示数组的长度,所以你在输入数据时,往a[10]中输入数据时,会出现错误的所以要改一下 #include <stdio.h> main() { int a[10]; int i,j;

for (i = 0; i < 10; i++) //change { scanf("%d",&a[9-i]); //change }

for (j = 0; j < 10; j++) printf("%d\t",a[j]); }

可是我上面的程序从来就没有a[10]赋值啊,难道i<=10就给a[10]赋值了,不会吧。。。 不过你的程序好像也没有什么问题。。。


----------------解决方案--------------------------------------------------------
呵呵,艘一样,只是边界变了,都是a[9]到a[0]
----------------解决方案--------------------------------------------------------
但是为什么在输入的过程中循环了11次呢,就是说要输入11个数,最后输出了十个数??
----------------解决方案--------------------------------------------------------
建议楼主再好好看一下数组的基本知识。 另外,skycanny和编程呆子都是正确的,只要认真看一下,就知道两者是一样的!
----------------解决方案--------------------------------------------------------
哦,看到了,明白了。
谢谢各位哦!~在下感激不尽。决心要更加认真学习了!

[此贴子已经被作者于2005-3-11 9:05:22编辑过]



----------------解决方案--------------------------------------------------------
  相关解决方案