这个C程序怎么输出不对哦,我是想得到数组第一列的和

[复制链接]
查看11 | 回复4 | 2010-5-16 09:10:13 | 显示全部楼层 |阅读模式
main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int i=0,sum=0;
while(i<10)
{
sum+=a[0];
i=i+3;
}
printf("%d",sum);
getch();
}

回复

使用道具 举报

千问 | 2010-5-16 09:10:13 | 显示全部楼层
因为你的i每次加了3,而你加的却是a[i,0],所以错掉了。应该改成while (i<3){sum+=a[0];i=i+1;}
回复

使用道具 举报

千问 | 2010-5-16 09:10:13 | 显示全部楼层
三个地方有问题:第一个问题int a[3][3] = {1,2,3,4,5,6,7,8,9};二维数组赋值应该是 a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}};第二个问题while(i<10){.....}二维数组的的遍历一般用双循环int i;int j;for(i=0; i<3; i+
回复

使用道具 举报

千问 | 2010-5-16 09:10:13 | 显示全部楼层
while(i<10)数组越界了,你的数组下标是从零开始的,0~9一共十个元素。
回复

使用道具 举报

千问 | 2010-5-16 09:10:13 | 显示全部楼层
main(){int a[3][3]={1,2,3,4,5,6,7,8,9};int i=0,sum=0;while(i<3){sum+=a[0];i++;}printf("%d",sum);getch();}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行