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