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
xSMOQ+OV'^iji IccL?37ֈ`5Fb}f_} iSf=sϽƖ yvx#ei7撼Qy[LT2C"ӈRU|<PIl,֖>ӛK\\2 o RS/\'$jЏ6ܦ\R`rp|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`jP4WWfg7I
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是假的).本来两句的顺序无关紧要,但习惯是对着重强调或估计多可能出现的,放的前面(也有人选择放在最后面),这就是一个约定,保持一致就好.