为什么这样会溢出?

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:56:35
int a[2][3],i,j;
char cha[10];
for(i=0;i++;i<2)
{
for(j=0;j++;j<3)
{
a[i][j]=0;
}
}
itoa(a[0][0],char,10);
MessageBox(char)

最后 消息框里显示得到的 是个负的很大的数字
但我定义的数组里所有元素(包括a[0][0])都是0啊 为什么会溢出呢
请高手指点下

1.数组根本不会被初始化,数组元素将是随机值,由内存决定.
第一次见到这样的for循环...
for(i=0;i++;i<2)
{
for(j=0;j++;j<3)
{
a[i][j]=0;
}
}
应修改
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
a[i][j]=0;
}
}

2.
char cha[10]; //只声明了数组cha,元素的值将是内存随机内容
itoa(a[0][0],char,10); //没有定义char这个变量,也不可能有,char是关键字.如果你的本意是cha变量,则改为itoa(a[0][0],cha,10);下同.
MessageBox(char);

你写错了
itoa(a[0][0],char,10); 改为

itoa(a[0][0],cha,10);

你的嵌套循环逻辑有问题。

老兄啊,帮你找了半天,你居然吧for语句用错啦!
是这样写的啊:
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)

哈哈是啊 竟然没有看出来