在下面的程序中,我正在读取一个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
非常感谢任何形式的帮助。谢谢。