在下面的程序中,我正在读取一个 6 长度的字符串 dd 并将其 ascii 代码存储在一个大小为 3x2 的整数数组 ipc 中。问题是存储在 ipc 中的值是错误的,稍后当我重新打印它们时它们会自行改变。我很惊讶这么简单的代码怎么会有这么明显的问题。(我在 Win7 x64 上使用 Code::Blocks 10.05)
#include<iostream>
using namespace std;
int main()
{ char dd[5];
int ipc[2][1];
cin.get(dd,6);
for(int i=0;i<3;i++)
{ for(int j=0;j<2;j++)
{ ipc[i][j]=int(dd[j+2*i]);
cout<<ipc[i][j]<<endl;
}
}
cout<<"------"<<endl;
for(int i=0;i<3;i++)
{ for(int j=0;j<2;j++)
{ cout<<ipc[i][j]<<endl; }
}
}
如果给定的输入为 123456,则输出为:
49
50
51
52
53
2
------
49
51
51
53
53
2
任何形式的帮助将不胜感激。谢谢你。