| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1025 人关注过本帖
标题:初学者问一个傻傻的问题
只看楼主 加入收藏
hoho_hehe
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-10
收藏
 问题点数:0 回复次数:11 
初学者问一个傻傻的问题

想将输入的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]);

}

搜索更多相关主题的帖子: 傻傻的 
2005-03-10 12:49
ljstranger
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-3-2
收藏
得分:0 
scanf("%d\n",&amp;a[10-i])/*当i=9得时候,输入得值是a[1],而定义a[10],数字得第一个数应该是a[0],,所以a[0]并没有值,我只是这么想想*/
2005-03-10 13:29
ljstranger
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-3-2
收藏
得分:0 
不好意思,是数组,不是数字
2005-03-10 13:30
skycanny
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-3-5
收藏
得分: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]); }

2005-03-10 13:40
编程呆子
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-1-6
收藏
得分:0 
以下是引用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-03-10 14:06
skycanny
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-3-5
收藏
得分:0 
以下是引用编程呆子在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]赋值了,不会吧。。。 不过你的程序好像也没有什么问题。。。

2005-03-10 16:26
nyq1999
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-2-22
收藏
得分:0 
呵呵,艘一样,只是边界变了,都是a[9]到a[0]
2005-03-10 18:53
hoho_hehe
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-10
收藏
得分:0 
但是为什么在输入的过程中循环了11次呢,就是说要输入11个数,最后输出了十个数??

2005-03-10 21:38
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
收藏
得分:0 
建议楼主再好好看一下数组的基本知识。 另外,skycanny和编程呆子都是正确的,只要认真看一下,就知道两者是一样的!
2005-03-10 21:50
hoho_hehe
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-10
收藏
得分:0 
哦,看到了,明白了。
谢谢各位哦!~在下感激不尽。决心要更加认真学习了!

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



2005-03-11 08:51
快速回复:初学者问一个傻傻的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018228 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved