我开始用 C 语言编程,但在理解我得到的一些结果时遇到了问题。我将代码粘贴在这里:
#include <stdio.h>
unsigned int main(void)
{
unsigned int x = 0;
printf("%u\n",x-1);
return 0;
}
终端返回 4.294.967.295,我不明白为什么。我知道这个值是 a 的最大值unsigned int
,但实际上我期待编译器发出一些警告,说我必须使用int
类型而不是 an,unsigned int
因为结果是否定的。无论如何,有人可以帮助我吗?