[求助]c语言的一个普通问题
#include<stdio.h>void main()
{
int a,b,c,d;
unsigned u;
a=12;b=-30;u=10;
c=a+u;d=b/u;
printf("a+u=%d,b/u=%d\n",c,d);
}
以上程序输出结果是a+u=22,b/u=6550,为什么d的输出不是-3?如果我把b赋值为-3,u赋值为1;输出值为-3,这个是正确的;如果b仍然为-30,u为1,输出结果是-30,也是正确的;这证明当b赋-30,u赋10,值为6550这个问题出在u的赋值上,但我想不明白这是为什么,求教高手,指点一下