一、C语言if语句判断有符号int和无符合int 是否是true,会把有符号转成无符号。
二、实际C代码测试
1、C代码
#include <stdlib.h>
int main()
{
printf("Hello, World \r\n");
int int_number = 0 ;
if(int_number)
printf("int_number=%d,int_number is true\r\n",int_number);
else
printf("int_number=%d,int_number is false\r\n",int_number);
if(!int_number)
printf("int_number=%d,!int_number is true\r\n",int_number);
else
printf("int_number=%d,!int_number is false\r\n",int_number);
int_number = -123 ;
if(int_number)
printf("int_number=%d,int_number is true\r\n",int_number);
else
printf("int_number=%d,int_number is false\r\n",int_number);
if(!int_number)
printf("int_number=%d,!int_number is true\r\n",int_number);
else
printf("int_number=%d,!int_number is false\r\n",int_number);
int_number = 123 ;
if(int_number)
printf("int_number=%d,int_number is true\r\n",int_number);
else
printf("int_number=%d,int_number is false\r\n",int_number);
if(!int_number)
printf("int_number=%d,!int_number is true\r\n",int_number);
else
printf("int_number=%d,!int_number is false\r\n",int_number);
unsigned int uint_value = 0;
if(uint_value)
printf("uint_value=%d,uint_value is true\r\n",uint_value);
else
printf("uint_value=%d,uint_value is false\r\n",uint_value);
if(!uint_value)
printf("uint_value=%d,!uint_value is true\r\n",uint_value);
else
printf("uint_value=%d,!uint_value is false\r\n",uint_value);
uint_value = 126;
if(uint_value)
printf("uint_value=%d,uint_value is true\r\n",uint_value);
else
printf("uint_value=%d,uint_value is false\r\n",uint_value);
if(!uint_value)
printf("uint_value=%d,!uint_value is true\r\n",uint_value);
else
printf("uint_value=%d,!uint_value is false\r\n",uint_value);
return(0);
}
2、运行结果
标准输出:Hello, World
int_number=0,int_number is false
int_number=0,!int_number is true
int_number=-123,int_number is true
int_number=-123,!int_number is false
int_number=123,int_number is true
int_number=123,!int_number is false
uint_value=0,uint_value is false
uint_value=0,!uint_value is true
uint_value=126,uint_value is true
uint_value=126,!uint_value is false