关于VC里int与char之间转换的问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 13:02:29
我用的上VC6.0英文版含补丁,这是源代码:
#include <iostream.h>
void main()
{
int a=300,b;
char c='a',d;
b=(int)c;
d=(char)a;
cout<<"b="<<b<<endl;
cout<<"d="<<d<<endl;

}

在编译后运行时,结果为:
b=97
d=,
Press any key to continue

int占2个字节,而char占一个字节,逗号的ascii码为40,请问怎么会成这样的结果?

谁告诉你int占两个字节?int跟你的机器字长有关,目前PC机一般是32位四字节。
另外逗号的asc码也不是40,而是44.
300的十六进制是0x12C,赋值后
d=0x2C,就是44