编写一个unsignedtest.c文件如下:
#include <stdio.h>
void main (int argc, char *argv[])
{
unsigned int a = 0;
unsigned int b = 0;
a--;
b++;
if(a < 0){
printf("无符号整型a负数与正数比较未发生转变!\n");
} else{
printf("无符号整型a负数与正数比较发生改变!\n");
}
if(a == -1){
printf("无符号整型a负数与负数比较未发生转变!\n");
} else{
printf("无符号整型a负数与负数比较发生转变!\n");
}
if(b <= -1){
printf("无符号整型b正数与负数比较,负数发生转变!\n");
} else{
printf("无符号整型b正数与负数比较,负数未发生转变!\n");
}
}
编译运行如下:
zhuzx/test$ gcc -o unsignedtest unsignedtest.c
zhuzx/test$ ./unsignedtest
无符号整型a负数与正数比较发生改变!
无符号整型a负数与负数比较未发生转变!
无符号整型b正数与负数比较,负数发生转变!
结论如打印输出所示。