这个输出结果为什么会是这样?
#include<stdio.h>main()
{
int a=3,b=5,c=7;
if(a>b)a=b;
c=a;
if(c!=a)
c=b;
printf("%d,%d,%d\n",a,b,c);
return 0;
}
我认为结果是a=3,b=5,c=5,但是输出结果却是3,5,3.不解的是红色标记的代码,如果c不等于a,结果为真,则执行c=b.
希望哪位高手帮我解释一下,谢谢了。
#include<stdio.h> int main() { int a=3,b=5,c=7; if(a>b) a=b; //a<b,false,a=3,b=5,c=7 c=a; //a=3,b=5,c=3 if(c!=a) c=b; //c==a,false,a=3,b=5,c=3 printf("%d,%d,%d\n",a,b,c); //3,5,3 return 0; }