定义:
C语言中定义无符号整型变量如下:
unsigned int num;
定义有符号整型变量如下:
signed int num;
或者
省略signed:int num;
C语言如果不注明是否有符号默认是signed;整型常量默认也是有符号int。
举例说明:
比如有定义:unsigned int num = 100;
100是整型常量,因为没有标识编译器默认为有符号int处理。这语句编译会进行隐式转换先把100有符号整数转换成无符号100,再赋值给无符号num变量;
如果有定义unsigned int num = 100u;
那这里是直接告诉编译器100要当作无符号整数进行处理,那就可以直接把100u赋值给num变量。
补充说明:
这里因为100的有符号无符号二进制是一样的,并看不出来有什么不同,如果在超过有符号可表示的范围就不一样了这可以自己实验一下。
所以在写代码时可以手动加上标识符u来告诉编译器如何处理这个整型常量。
变量可以用unsigned修饰,常量就不行了
所以要在整型常量后加u,表示无符号数
本回答被网友采纳