70,020
社区成员




#include<stdio.h>
int main()
{
int a,b;
a=1;
b=2;
if (a>b);
printf("1");
}
#include<stdio.h>
int main()
{
int a,b;
a=1;
b=2;
if (a>b)
printf("1");
}
if (a > b);
表示判断完成之后,就结束,因为判断后并没有要求做什么。然后程序继续执行接下来的操作,输出1.
下一句if (a>b) printf("1");
表示的是,先判断条件是否成立,成立,后面没分号代表语句还没有结束。因此在前面的判断条件下看看是否执行输出1的操作#include<stdio.h>
int main()
{
int a,b;
a=1;
b=2;
if (a>b)
;
printf("1");
}
这个能输出1是因为不论if判断的条件是否为真,都会执行printf打印;
而去掉;(分号),printf的打印要看if条件是否为真,若为真则执行,否则不执行;
简单理解,加了分号,就是printf不在if的控制范围之内了;