为什么我用C语言编写的乘法运算程序结果输出错误

#include"stdio.h"
void main()
{
int a,b,wangpan;
scanf("%d %d",&a,&b);
wangpan=a*b;
printf("wangpan is %d\n",wangpan);
}
输入数值为 147 369
当把%d\n 换成%u\n
结果正确
请高手指点下哦 郁闷中

第1个回答  2008-02-05
INT型的值范围为-32768-32767
你这个结果是54243,溢出了,当然显示不正常,/U为长整形,可以正常显示本回答被提问者采纳
第2个回答  2008-02-05
INT型的值范围为-32768-32767
你这个结果是54243,溢出了,当然显示不正常,/U为长整形,可以正常显示
回答者:lightgto - 高级魔法师 六级 2-5 11:20

/U不是长整型,是无符号型,范围是0~65535
第3个回答  2008-02-05
%d格式输出是指以十进制整型输出

所以了 最大不能超过 65535 还有电脑的位数大的话 int也会大
第4个回答  2008-02-17
我想初一学生肯定不知道.
我就是初一学生
相似回答