if语句的不理解if(x=0)y=4*x;这个执行条件成立的语句.由小到大输出3个整数.if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%d,%d,%d",a,b,c);为什么3个if都执行?上面只执行成立的if语句.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/12 02:02:01
![if语句的不理解if(x=0)y=4*x;这个执行条件成立的语句.由小到大输出3个整数.if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf(](/uploads/image/z/4212042-42-2.jpg?t=if%E8%AF%AD%E5%8F%A5%E7%9A%84%E4%B8%8D%E7%90%86%E8%A7%A3if%28x%3D0%29y%3D4%2Ax%3B%E8%BF%99%E4%B8%AA%E6%89%A7%E8%A1%8C%E6%9D%A1%E4%BB%B6%E6%88%90%E7%AB%8B%E7%9A%84%E8%AF%AD%E5%8F%A5.%E7%94%B1%E5%B0%8F%E5%88%B0%E5%A4%A7%E8%BE%93%E5%87%BA3%E4%B8%AA%E6%95%B4%E6%95%B0.if%28a%3Eb%29%7Bt%3Da%3Ba%3Db%3Bb%3Dt%3B%7Dif%28a%3Ec%29%7Bt%3Da%3Ba%3Dc%3Bc%3Dt%3B%7Dif%28b%3Ec%29%7Bt%3Db%3Bb%3Dc%3Bc%3Dt%3B%7Dprintf%28%22%25d%2C%25d%2C%25d%22%2Ca%2Cb%2Cc%29%3B%E4%B8%BA%E4%BB%80%E4%B9%883%E4%B8%AAif%E9%83%BD%E6%89%A7%E8%A1%8C%3F%E4%B8%8A%E9%9D%A2%E5%8F%AA%E6%89%A7%E8%A1%8C%E6%88%90%E7%AB%8B%E7%9A%84if%E8%AF%AD%E5%8F%A5.)
if语句的不理解if(x=0)y=4*x;这个执行条件成立的语句.由小到大输出3个整数.if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%d,%d,%d",a,b,c);为什么3个if都执行?上面只执行成立的if语句.
if语句的不理解
if(x=0)
y=4*x;
这个执行条件成立的语句.
由小到大输出3个整数.
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%d,%d,%d",a,b,c);
为什么3个if都执行?上面只执行成立的if语句.
if语句的不理解if(x=0)y=4*x;这个执行条件成立的语句.由小到大输出3个整数.if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%d,%d,%d",a,b,c);为什么3个if都执行?上面只执行成立的if语句.
其实两个代码里,每一条if语句都被执行了,只是成立了才会修改变量,不成立不会修改.
上面的代码,两个if语句是互斥的关系,所以只有可能成立1个,所以在你看来就是只执行了成立的if语句.
而下面的代码,a>b,a>c,b>c,三者时间没有互斥关系,所以都会做判断的.如果成立,就会交换值.
是否执行过,可以通过debug的方式来单步跟踪调试,这样会看的很清楚.
如果你希望几个if语句互斥的话,可以采用if...else的结构.这样只可能执行一个if,只要if成功,就不会处理else.