可能还要改一句才能输出预期结果


所有跟贴·加跟贴·新语丝读书论坛

送交者: Yush 于 2009-03-12, 14:28:20:

回答: TurboC环境下,int为2字节。在此前提下,谭教授的表述没有错 由 Yush 于 2009-03-12, 14:09:50:

b=a+1;改为b=(long)a+1;
否则,a+1有可能按默认的两字节带符号整数进行运算,结果为8000(16进制)。然后赋值给带符号长整数b时,进行符号位扩展,b的值为FFFF8000(16进制)。这样,即使按%ld输出b,仍然是-32768。




所有跟贴:


加跟贴

笔名: 密码: 注册笔名请按这里

标题:

内容: (BBCode使用说明