好吧,我知道这个问题可能有些奇怪,但我还是想揭开它的神秘面纱.
1.)intC中的类型可以存储-2147483648到2147483647范围内的数字.
2.)如果我们在unsigned它前面添加它,范围将变为0到2147483647.
3.)问题是,unsigned当下面的代码实际可行时,为什么我们甚至懒得使用关键字.
代码:
#include <stdio.h>
int main(void)
{
int num = 2147483650;
printf("%u\n" , num);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
4.)如你所见,如果我使用说明%u符,我仍然可以将整数打印为无符号类型,它将打印出值2147483650.
5.)即使我创建了另一个带有值的整数类型50并将其总结num,虽然它已经溢出但是我仍然可以通过使用%u说明符打印出正确的和值.所以为什么unsigned关键字仍然是必需的?
感谢您花时间阅读我的问题.