c语言中,这个程序的结果为什么是7
#include<stdio.h>void main(){int a=3,b=4,c;c=a-b?a+b:a*b;printf("%d",a-b);}
结果肯定不是7啊,结果为-1
编译器1:
编译器2:
很简单的
你的
c=a-b?a+b:a*b;
没有改a,b的值 ,a-b当然是
-1
了
若是输出c的值,它倒是7
因为
a-b为-1,它是真
所以
c=a+b=7
热门标签:
#include<stdio.h>void main(){int a=3,b=4,c;c=a-b?a+b:a*b;printf("%d",a-b);}
结果肯定不是7啊,结果为-1
编译器1:
编译器2:
很简单的
你的
c=a-b?a+b:a*b;
没有改a,b的值 ,a-b当然是
-1
了
若是输出c的值,它倒是7
因为
a-b为-1,它是真
所以
c=a+b=7