if 下面的题怎么理解?int a = 0;if a){printf("a is False\n");}else{printf("a is True\n");}屏幕输出:a is False

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 11:00:13
if 下面的题怎么理解?int a = 0;if a){printf(
xSMOQ+OV'^iji Ic cL? 37ֈ`5Fb}f_}iSf=sϽƖ yvx#ei7撼Qy[LT2C"ӈRU|<PIl,֖>ӛK\\2 oRS/\'$ jЏ6 ܦ\R`r p|6z/o5Ė'׃оbG-HWa8W~N YTf?Gth@V"`I2CfyvQq~c2VCY!r[!o/3NR2V셬H){*۩Pb #(/uL^u סЎp]="ʤ 7z'\Cl!oF!i"Rg"#R)ȇl ^x%GGvMѻV9*s  @ZH+{ I2swVM"n){ԩ%4%fDX;k\r*89~F{xxi*)$y!f]0F;U0kߋ{4PBIFԵb@m>6,A5foͶ¾YQ$ ~`7, rYHCpߴs:u\BlIH`jP4WWfg 7I

if 下面的题怎么理解?int a = 0;if a){printf("a is False\n");}else{printf("a is True\n");}屏幕输出:a is False
if 下面的题怎么理解?
int a = 0;
if a)
{
printf("a is False\n");
}
else
{
printf("a is True\n");
}
屏幕输出:a is False

if 下面的题怎么理解?int a = 0;if a){printf("a is False\n");}else{printf("a is True\n");}屏幕输出:a is False
① C/C++语言,if(yyy)就是判断yyy是否为逻辑"真",因此这里就是判断!a是否为逻辑真.
② !在C语言里是“非”的意思,就是取逻辑反的操作.那么if (!a)就成了判断“非a”的真假,也就是a如果是非,那么!a是真.
③ 在C里面,一般定义0是逻辑假,即FALSE;而非0即逻辑真,即TRUE.因此,这里a=0,那么!a就是真,因此程序执行顺序是printf("a is False\n"); 所以屏幕输出a is False.
④ 只所以要这么写,其实就是按照自然语言的习惯,if (!a) 等于 “如果 没有 a”,也即“如果a不真”,那么打印输出(a是假的).本来两句的顺序无关紧要,但习惯是对着重强调或估计多可能出现的,放的前面(也有人选择放在最后面),这就是一个约定,保持一致就好.