为什么这样会溢出?

[复制链接]
查看11 | 回复5 | 2008-7-21 12:20:39 | 显示全部楼层 |阅读模式
int a[2][3],i,j;
char cha[10];
for(i=0;i++;i<2)
{
for(j=0;j++;j<3)
{

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

回复

使用道具 举报

千问 | 2008-7-21 12:20:39 | 显示全部楼层
1.数组根本不会被初始化,数组元素将是随机值,由内存决定.第一次见到这样的for循环...for(i=0;i++;i<2) { for(j=0;j++;j<3) { a[j]=0; } } 应修改for(i=0;i<2;i++){ for(j=0;j<3;j++) { a[j]=0; }}2.char cha[10]; //只声明了数组cha,元素的值将是内存随机内容itoa(a[0][0],char,10); //没有定义char这个变量,也不可能有,char是关键字.如果你的本意是cha变量,则改为itoa(a[0][0],cha,1
回复

使用道具 举报

千问 | 2008-7-21 12:20:39 | 显示全部楼层
哈哈是啊 竟然没有看出来
回复

使用道具 举报

千问 | 2008-7-21 12:20:39 | 显示全部楼层
老兄啊,帮你找了半天,你居然吧for语句用错啦!是这样写的啊:for(i=0;i<2;i++) { for(j=0;j<3;j++)
回复

使用道具 举报

千问 | 2008-7-21 12:20:39 | 显示全部楼层
你的嵌套循环逻辑有问题。
回复

使用道具 举报

千问 | 2008-7-21 12:20:39 | 显示全部楼层
你写错了itoa(a[0][0],char,10); 改为itoa(a[0][0],cha,10);
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行