Pau*_*mme 4 c variables int unsigned
我只是试图将unsigned int降低到0以下.令我惊讶的是它有效!
#include<stdio.h>
int main(void)
{
unsigned int foo = 5;
foo -= 10;
printf("%d", foo);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译
clang -Weverything main.c
Run Code Online (Sandbox Code Playgroud)
这个计划回归
-5
Run Code Online (Sandbox Code Playgroud)
正如这篇文章和我的个人知识所述,这是不可能的.但为什么它会起作用呢?我错过了什么吗?是因为未定义的行为?还是printf?或者是其他东西?