| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2825 人关注过本帖
标题:数组用for语句赋值
取消只看楼主 加入收藏
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
数组用for语句赋值
直接来程序:
#include<stdio.h>
void main()
{
 int a[2][5];
 int b,c;
 for(b=0;b<2;b++)
   {for(c=0;c<3;c++)
    scanf("%d",&a[b][c]);
   }
 for(b=0;b<2;b++)
   {for(c=0;c<5;c++)
    printf("a[%d][%d]=%d",b,c,a[b][c]);
   }
}
我在输入1 2 3 4 5 6以后运行,结果a[0][0]到a[0][4]的值都正确是1,2,3,0,0.
为什么a[1][0]到a[1][4]的值就出现异常了呢,是4,5,6,
后面的两个没有赋值的元素应该是0的,结果却是随机数字,不知道原因在什么地方
2011-10-14 01:52
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 2楼 唯我独魔
我知道那里应该写成5,但是也可以写成3,因为,我不想给最后两个元素赋值,但是他在没有赋值的情况下应该是默认为0的。
2011-10-14 02:36
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 4楼 唯我独魔
感觉随机数是0的可能性很小,不过你这样赋值可以解决问题,等我后天结贴哦,
2011-10-14 03:00
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 10楼 糖傻猫
你的那个程序不能得到我想要的结果,出来的值没有一个是我赋给它的值,我的程序的结果是这样的:
1 2 3 4 5 6
a[0][0]=1
a[0][1]=2
a[0][2]=3
a[0][3]=0
a[0][4]=0
a[1][0]=4
a[1][1]=5
a[1][2]=6
a[1][3]=1536
a[1][4]=72
我只想问下为什么a[1][3]和a[1][4]的值不是默认的0,而a[0][3]和a[0][4]的值却是0,他们没有被赋值的时候不都是0吗?

[ 本帖最后由 小赵q1 于 2011-10-16 01:05 编辑 ]
2011-10-16 01:00
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 13楼 薛嘉懿
你可以试试不加“&”的效果哦,很明显的,在给整个数组赋值是不用加“&”的,如字符串数组a[3][20];scanf("%s",a[0]);但是再给数组的某一个元素赋值是必须加“&”的.
2012-01-08 01:24
快速回复:数组用for语句赋值
数据加载中...
 
   



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

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