我疯狂地试图解决这个问题,但我尝试的任何工作都没有。请帮帮我。
char ch[5];
int in = 15;
ch[2] = in; // It has to be on a specefic place in that array
cout << ch[2]; // Prints '*'
我知道我可以执行ch[2] = in+48;
之类的操作,但这只适用于小于10的数字。
答案 0 :(得分:1)
当cout
收到char
时,它会将其解释为一个字符(根据执行字符集),而不仅仅是一个整数值。如果要打印整数值,则需要将其强制转换为其他整数类型:
cout << static_cast<int>(ch[2]);
请注意,您几乎肯定无法在int
中存储char
的所有值。如果char
是8位(可能是),那么255
是您可以存储在其中的最大值。