int a=1,b=2,c=3,d=4,m=2,n=2;(m=a>b)&&(n=c>d);为什么这样执行后输出的n的值是2而不是0?
来源:百度知道 编辑:UC知道 时间:2024/04/29 14:49:37
因为n=c>d 是不会执行的
记住 && 符号只要前面为假,后面就不计算
N=(C>D)
(m=a>b)&&(n=c>d);
由于&&的存在
因为m=a>b 是false 整条语句就一定是false后面的不会执行
同样a||b 如果a是true b也不会执行
无论是表达式1&&表达式2;还是表达式1||表达式2.
当执行表达式1就能确定整个表达式的逻辑值时,就不必执行表达式2.
由于m=a>b为false
&&直接跳出后面的语句
int a=3,b=4,b=5; !(++c-1&&b+c/2)等于什么?为什么?谢谢
unsigned int a=2;int b = -3;
已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?
int a=2,b=3,c=4;a*=10+(b++)-(++c);执行完语句后a的值是多少?
执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是?请说明理由
为什么不能定义成int a=b=c=2;而要定义成int a=2,b=2,c=2;
设a = 5,b = 10,则执行 c = Int((b - a) * Rnd + a) + 1,结果为多少
int a[3],b[3];a={1,2,3};b=a;有什么问题?为什么不能赋值?
void a(int a,int b=0)的含义?
C语言执行一下程序K的结果是多少?int k=0,a=1,b=2,c-3;k=ac ? c:k;