当前位置:编程学习 > C/C++ >>

C语言unsigned int纠错

signed int userNumEnteries = 0; printf("enter your eumber: "); scanf("%u", &userNumEnteries); //printf("%u", userNumEnteries); if (userNumEnteries <= 0) { printf("Nothing to do"); return0; } 输入-3,为什么不会报错呢?如果我不适signed int 而是int,就会报错。想问下signed int 和int de 具体区别。谢谢。
其他:u是无符号数格式,也就是说,不能将数据的最高位看成是符号位,而是数值位。输入-3表示该数为有符号数,数据类型不匹配,出错。例如:
int a=-5;  其二进制(16位二进制表示)为:1111 1111 1111 1011 (补码表示,计算机都是)
将a以无符号数输出,printf("%u",a);  则a最好的1不是符号,而是数值,其值为65531

上一个:c语言函数库调用
下一个:C语言快排求解啊

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,