C语言的程序调试的时候有错误提示,我选了忽略却可以继续执行...我想知道这是为什么...

我们作业题目是从键盘为一个3*3整型数组输入数据,并找出元素的最大值及其所在行号然后我的程序是这么写的#include<stdio.h>intmain(){inti,j,... 我们作业题目是
从键盘为一个3*3整型数组输入数据,并找出元素的最大值及其所在行号

然后我的程序是这么写的

#include<stdio.h>
int main()
{
int i,j,a[3][3],max,c,b;
max=a[0][0];
printf("输入9个数字\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("这个数组为\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
if(max<=a[i][j])
{max=a[i][j];
c=i;
b=j;
}

}
printf("最大值是第%d行%d列的%d",c+1,b+1,max);
return 0;

}

然后就来问题了...

这是出现的错误提示和我选择了忽略然后继续运行程序的图....
我选了忽略之后程序可以正常运行....
我想知道我的程序哪里有问题吗....
谢谢...
展开
 我来答
wchyumo2011
推荐于2016-09-03 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2834万
展开全部

做统计最大的时候没有对b,c,max进行初始化,需要先初始化一下:

#include<stdio.h>
int main()
{
int i, j, a[3][3] = {0}, max, c, b;//////////
printf("输入9个数字\n");
for (i = 0; i<3; i++)
{
for (j = 0; j<3; j++)
scanf("%d", &a[i][j]);
}
printf("这个数组为\n");
for (i = 0; i<3; i++)
{
for (j = 0; j<3; j++)
printf("%5d", a[i][j]);
printf("\n");
}
max = a[0][0];/////////////
c = 0, b = 0;//////////////
for (i = 0; i<3; i++)
{
for (j = 0; j<3; j++)
if (max < a[i][j])
{
max = a[i][j];
c = i;
b = j;
}
}
printf("最大值是第%d行%d列的%d", c + 1, b + 1, max);
return 0;
}
更多追问追答
追问
就是要再加c=0,b=0吗?
追答
是要加的,如果第一个数是最大的数,那么你的c和b就没有更新,是一个随机数了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式