|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 新手求助,数组问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
599
人关注过本帖
标题:
新手求助,数组问题
只看楼主
加入收藏
zzm83393336
等 级:
新手上路
帖 子:6
专家分:0
注 册:2012-6-16
结帖率:
100%
楼主
收藏
问题点数:0 回复次数:8
新手求助,数组问题
#include <stdio.h>
void main()
{
int a[10],b;
for(b=0;b<=9;b++)
a[b]=b;
printf("%d",a[b]);
}
为什么显示结果为:1245120
搜索更多相关主题的帖子:
void
include
2012-06-16 17:22
举报帖子
使用道具
赠送鲜花
a646404908
等 级:
侠之大者
威 望:
5
帖 子:189
专家分:492
注 册:2012-2-14
第
2
楼
收藏
得分:0
#include <stdio.h>
void main()
{
int a[10],b;
for(b=0;b<=9;b++)
a[b]=b;
for(b=0;b<9;b++)
printf("%d",a[b]);
}
2012-06-16 18:14
举报帖子
使用道具
赠送鲜花
lg1076304851
等 级:
新手上路
帖 子:6
专家分:3
注 册:2012-6-6
第
3
楼
收藏
得分:0
数组输入输出都要用循环
2012-06-16 19:43
举报帖子
使用道具
赠送鲜花
csxuedn
等 级:
论坛游民
帖 子:15
专家分:48
注 册:2012-6-15
第
4
楼
收藏
得分:0
楼主请看,数组中现在有10个数字0到9,数组对应的下表也是0到9
此时如果想输出刚才赋的值,只能是a[0]到a[9],但 printf("%d\n",a[b])语句中的b已经为10,数组下标越界了,输出内存中其他内容。
所以楼主并没有看到预料的内容,希望能帮到你……
2012-06-16 20:41
举报帖子
使用道具
赠送鲜花
c狼
来 自:江西
等 级:
新手上路
帖 子:13
专家分:5
注 册:2012-6-10
第
5
楼
收藏
得分:0
以下是引用
zzm83393336
在2012-6-16 17:22:09的发言:
#include
void main()
{
int a[10],b;
for(b=0;b<=9;b++)
a=b;
printf("%d",a);
}
为什么显示结果为:1245120
#include <stdio.h>
void main()
{
int a[10],b;
for(b=0;b<=9;b++)
{
a[b]=b;
printf("%d",a[b]);}
}
这样就行了
2012-06-16 20:45
举报帖子
使用道具
赠送鲜花
雪狼MJ
来 自:甘肃
等 级:
蝙蝠侠
威 望:
4
帖 子:267
专家分:853
注 册:2012-5-27
第
6
楼
收藏
得分:0
把输出语句放循环里面就对了:
#include <stdio.h>
int main(void)
{
int a[10],b;
for(b=0;b<=9;b++){
a[b]=b;
printf("%d",a[b]);
}
putchar(10);
return 0;
}
当你把输出语句放外面时,b为10,而a[10]超出数组范围,系统不知道它是多少。会输出别的不知道的东西
Edsger Dijkstra:算法+数据结构=程序
2012-06-17 09:11
举报帖子
使用道具
赠送鲜花
jokerskill
等 级:
黑侠
帖 子:392
专家分:554
注 册:2012-3-4
第
7
楼
收藏
得分:0
#include <stdio.h>
int main(void)
{
int a[10],b;
for ( b = 0; b <= 10; b = b + 1 )
a[b] = b;
for ( b = 0; b <= 10; b += 1 )
printf("%d",a[b]);
return 0;
}
2012-06-17 18:19
举报帖子
使用道具
赠送鲜花
张朝成
等 级:
业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
第
8
楼
收藏
得分:0
#include <stdio.h>
void main()
{
int a[10],b;
for(b=0;b<=9;b++)
a[b]=b;
printf("%d",a[b]);
}
为什么显示结果为:1245120
这是因为a[b]并没有像你想象的一样从0变化到9,因为你的for循环语句不包含printf这句。所以printf里面的a[b]并没有具体的指,但没有语法错误,所以程序可以运行,但是输出的1245120只是一个垃圾数字,没有具体的意义,真确的程序如下,加个{}就好了。
#include <stdio.h>
void main()
{
int a[10],b;
for(b=0;b<=9;b++)
{
a[b]=b;
printf("%d",a[b]);
}
}
显示结果为:0123456789
2012-07-04 13:44
举报帖子
使用道具
赠送鲜花
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
9
楼
收藏
得分:0
回复 7楼 jokerskill
b <= 10;
总有那身价贱的人给作业贴回复完整的代码
2012-07-04 13:49
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
新手求助,数组问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029211 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved