c语言 逗号表达式

#include <stdio.h>
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
} /*逗号表达式*/
执行结果为 2,3,1
我买的辅导书上说x==2 y==3,z取逗号表达式的值z==++y 所以为1 为什么y=3而++y==1呢???????????
还有 逗号表达式的优先级最低为什么z取++y的值 而不是先计算赋值表达式z=x++?????
y++是先计算再加一 逗号表达式“,”算不算一步运算啊 ????
三个问题30分

哦 这个逗号就是一个分割符 没必要想那么多这里 就是隔开式子 分别计算就好了
你理解错了 这里面Z的值在z=x++就确定了,是1 ,这个++1与1++的区别你知道吧 这里面其实是三个式子 你想的那种样应该是这样的A=(z=x++,y++,++y)
那么这里A的值取逗号里面的式子依次运算,最后那个式子的值就是 整个的值 即是A的值。

具体问题就好办了吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-11
z = x++;
1. z = x;
2. x += 1;

后缀为该变量先被其它操作符操作,然后变量自身加1。这里的其它操作符为=。

先计算z = x++;
第2个回答  2009-01-11
逗号优先级最低

c语言 逗号表达式
c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8。逗号表达式用法:当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。示例:main(){int a,s,d;s=2;d=3;a=12+(s+2,d+4);} ...

什么是逗号表达式?
C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为 表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6...

C\/C+编程笔记:C语言中逗号运算符和逗号表达式,带你仔细区分!
C语言的逗号运算符和表达式是编程中的一项重要知识点。逗号运算符用于将两个表达式连接在一起,形成一个称为“顺序求值运算符”的逗号表达式。逗号表达式的一般形式为“表达式1,表达式2”,其求解过程是先计算表达式1,然后计算表达式2,整个逗号表达式的值即为表达式2的值。例如,逗号表达式“3+5,6+8...

C语言逗号是什么意思?
C语言中的逗号有两种意思:1、表示"分隔号"的意思,就和语文中的逗号一个意思;2、表示"逗号运算符"的意思,用它将2个表达式连接起来.例如:3+5,6+8:就称为逗号表达式,又称为"顺序求值运算符"。逗号表达式的一般形式为表达式1,表达式2。逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个...

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

c语言逗号表达式的值是什么呢?
int a;int s;s = (a=2*6,a*3,a+5);右边小括号里的是逗号表达式,它分成3个表达式:(1)a=2*6,(2)a*3,(3)a+5 计算顺序是 (1) (2) (3); 算毕,把 (3) “最后一个表达式的结果” 作为 “逗号表达式 的 结果” 给出。(1) 式,叫“赋值表达式” -- C 语言的叫法...

c语言逗号表达式
逗号表达式运算机制:从左往右分元子计算,以最后一个元子的值作为整个表达式的值。如y=(x=a+b),(b+c)中的逗号表达式(x=a+b),(b+c)有2个元子,分别为1:(x=a+b)和2:(b+c)。先计算1得到(x=6),元子1的值为6,此时X值为6;再计算2得到10,元子2的值为10;将元子2的值传给y,...

逗号表达式怎么用
逗号表达式在编程中使用的关键在于理解其运算规则。首先,逗号表达式的计算顺序是从左到右,逐个计算每个表达式,但整个表达式的结果只取决于最后一个表达式的值,即使前面的表达式可能产生中间结果。逗号运算符的优先级最低,这意味着它在计算时会被忽略,直到最后才参与计算。在C语言中,如果使用%d格式声明...

C语言中逗号表达试是什么?
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。(3) 逗号运算符的优先级别在所有运算符中最低。例如:(a = 3,b = 5,b+ = a,c = b* 5)前两个表达式只是赋值,从第三个开始计算,b+=a,即b=b+a...

逗号运算符(多个表达式的顺序执行)
逗号运算符是一种在C语言中常用的运算符,它用来将多个表达式按照顺序执行,并返回最后一个表达式的值。逗号运算符的使用可以简化代码逻辑,提高程序的可读性和效率。逗号运算符的语法 逗号运算符的语法形式为:`表达式1,表达式2,...,表达式n`。其中,表达式可以是任意合法的表达式,包括变量、常量、函数...

相似回答
大家正在搜