这要涉及到数据在内存中的存储形式(二进制)-1在内存中以补码形式存储11111111,转换成十进制就是65535
数据是用补吗形式储存的,如果你声明的是unsigned int或者系统默认int为unsigned,即无符号的变量,那么系统就会认为是65535咯
没有啊,楼主是不是把数字设置成无符号的了?试下我这个C语言的
main()
{
int a;
scanf("%d",&a);
printf("%d",a);
}
输入-1输出也是-1啊
变量被定义成了UNSIGNED?