什么时候该定义变量为int,什么时候该定义unsigned int.有符号与无符号怎么区分其使用啊,谁能帮帮我解决

谢谢了!

一般没有特殊要求的就都可以定为int;unsigned的形式是都是正数的,看你的编译系统是多少位的,若是32位的话,int 的范围是-2^31~2^31-1,而unsigned得范围是0~2^31;二者的范围不同。 举个例子:
void main()
{
int i=-10;
unsigned int j=20;
printf("%u\n",i+j);
}
做这个的时候你得知道,数是以二进制补码进行存储存储的,所以,会将 i 强制转换成int型的,而后进行计算,你可以试运行一下···相互学习!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-27
很简单 新手永远不要使用unsigned否则进行运算或者比较的时候 会出现强制转换 会产生让你感觉莫名其妙的错误
第2个回答  2012-03-01
你如果变量都是正数,那就用unsigned int,如果有正数或负数,那就用int