if (表达式) { 语句... }
在执行if语句时,首先会计算表达式的值,如果表达式的值为0,语句不会执行,若非0,则执行语句。
由此可见if (0) 表示不执行,if (1)表示要执行。if (x)根据x的值是否为0来决定是否执行.
总之,在C语言了里,像if,for,while这些语句本质上都是通过求出括号里表达式的是否为0来决定运行流程的,所以像if(scanf("%d",&a))这种代码也是可以理解的。

if (表达式) { 语句... }
在执行if语句时,首先会计算表达式的值,如果表达式的值为0,语句不会执行,若非0,则执行语句。
由此可见if (0) 表示不执行,if (1)表示要执行。if (x)根据x的值是否为0来决定是否执行.
总之,在C语言了里,像if,for,while这些语句本质上都是通过求出括号里表达式的是否为0来决定运行流程的,所以像if(scanf("%d",&a))这种代码也是可以理解的。