二级c语言的一道题,为什么答案是C?A选项中逗号表达式是怎么执行的?

如题所述

第1个回答  2015-03-16
C C中c=a;a=b;b=c;之间用了分号 这是三条命令 即不执行假设语句,进入a=b;b=c;
而另外三项均不执行假设语句结束。追问

A中的逗号语句我看书没怎么看明白,可不可以帮我把A讲解一下,谢谢

第2个回答  2015-03-16
答案肯定是c啊,if函数遇见;说明执行完了,所以说c选项如果a>b,结果只有c=a。

C语言选择,为什么答案是c
输出的括号里面的是逗号运算符,(x-=y, x*=y+8\/5)从左往右依次执行,并返回最后一个表达式的值 所以x-=y即是x = x-y得到x=1;x*=y+8\/5即是x=x*(y+8\/5)这里由于8和5都是整数,所以他们相除取整为1 所以x=1*3=3,即最后输出3 ...

C语言中逗号运算符怎么用?为什么结果只取其中一种
例如有逗号表达式a, b, c,求值顺序是a、b、c,最终表达式的值为c的值。

c语言中逗号表达式的运算规则
逗号表达式,是c语言中的逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a=(a=3*5,a*4...

C语言中逗号运算符怎么用?
1、当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。main(){int a,s,d;s=2;d=3;a=12+(s+2,d+4);} 先算括号内的值:s+2=4,d+4=7;括号内应为(4,7),括号内取值只取最后一个,如果没有括号则取第一个;a=12+7=19。x=(y=3...

C语言里的逗号的使用方法
C语言提供一种特殊放入运算符:逗号运算符 表达式1,表达式2 逗号表达式的求解过程是:先求表达式1,再求表达式2 整个逗号表达式的值是表达式2的值,如表达式“3+5,6+8”的值为14。又如,逗号表达式“a=3*5,a*4”,赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5.经计算和赋值后...

c语言逗号表达式是如何计算的?
c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8。逗号表达式用法:当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。逗号表达式的要领:(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后...

C语言中的逗号表达式
逗号表达式,按从左到右顺序进行,先计算a=3*5,再计算a*4,然后a+5,但是最后把 a+5赋值给y。所以 a=3*5=15,a+5=20,所以最后y=a+5=20 a=3*5,a*4,a+5;","逗号运算符优先级最低,比赋值还要低,所以先计算a=3*5,再计算a*4,最后a+5,可见 a的值 就是3*5,与后面无关...

C语言中逗号表达式的实用意义或者产生的原因?
这样它先total2=0;然后total1=total2;那么我们这样行不行呢? (total1=total2)=0; 这样是不可以的,因为先要算括号里面的,这时total1=total2是一个表达式,而赋值语句的左边是不允许表达式存在的。 二、算术运算符 在C语言中有两个单目和五个双目运算符。 符号 功能 + 单目正 - 单目负 * 乘法 \/ 除法 %...

c语言逗号表达式的问题
逗号运算符的一般形式是:表达式1,表达式2 逗号运算符的求解过程是:先邱表达式1,再求表达式2,整个表达式的值是表达式2的值。你上面的列子是正确的,因为逗号运算符的优先级要低于赋值运算符。y=(x=a+b),(b+c);解释如下 先算x=a+b得x=6,然后把x的值赋给了y,得y=6,接着运算b+c 如果...

C语言 逗号表达式
6,原因就是逗号是C语言运算符中优先级最低的了,优先级为15,而“=”(赋值运算符)的优先级是14,比逗号高。而逗号表达式到底是怎么回事呢,看这个表达是,b = (a,c,d,e),这里面比如acde这四个变量都进行了初始化,那么这个表达式的计算过程就是从a开始,一直到e,只看最后一个逗号后的...

相似回答