C语言:写出程序运行结果并解释为什么

2025-05-09 17:03:14
推荐回答(2个)
回答1:

f=330-256;////char 一位范围0-255 330 溢出,等价于d=330-256;

#include 
#include 
int main()
{
char f,e;
f=330-256;////char 一位范围0-255 330 溢出,等价于d=330-256;
e='\141';//'\141'就是   97
int  a='\141'-97;//要是相等则输出为0
printf("%d ,%c,%d",a,f,e);
return 0;
}

 

回答2:

d是char类型 只有一个字节 c=330=0x14A 赋值给d的时候高位舍去 于是是0x4A 这个是J的ascii码

\141是转义字符 意思是8进制的141 = 0x61 这个是a的ascii码