c语言问题 谢谢

c=2,3,4和c=(2,3,4)值为什么不一样呢?那个应该是逗号表达式?... c=2,3,4和c=(2,3,4)值为什么不一样呢?那个应该是逗号表达式? 展开
 我来答
百度网友e591bcd
2009-09-13 · TA获得超过988个赞
知道小有建树答主
回答量:518
采纳率:0%
帮助的人:400万
展开全部
c=2是一个语句,3是一个语句,4又是一个语句。根据逗号表达式的规则。c=2,3,4最后的值应该是4。

而c=(2,3,4)这个语句是这样的,逗号表达式2,3,4最后的值为4,再将4附给c。所以不一样。懂了吧
白痴一样的独孤
2009-09-13 · 超过23用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
c=(2,3,4)这个是逗号表达式;这里是说把逗号表达式的值赋予c,逗号表达式的值就是括号中最右边的值。也就是4.
c=2,3,4;在这里3,4并不是语句,只是表达式而已。表达式后面加上分号才构成语句的。所以在编译过程中,会出现说3,4在程序段中没有意义。 所以c=2.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuzhiqinlove
2009-09-13 · 超过10用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:0
展开全部
逗号的优先级比赋值符号低。所以c=2,3,4先做c=2,而3,4并不赋值给c。c=(2,3,4)由于有括号,所以先做括号里的逗号表达式,其结果为最后一个值,为4,然后赋值给c,所以c为4.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangtk1982
2009-09-12 · TA获得超过3742个赞
知道大有可为答主
回答量:3206
采纳率:100%
帮助的人:1424万
展开全部
,运算符的级别最低 =要不,高

所以c=2,3,4 C=2
c=(2,3,4) c=4
就这样了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友622ca468
2009-09-13
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
这就是所谓的逗号表达式。总体而言,c与c++的逗号表达式的语法是差不多的。相关内容如下:
逗号表达式的语法为:
表达式1,表达式2,...表达式n
C++顺序计算表达式1,表达式2,……,表达式n的值。例如:
int a,b,c;
a=l,b=a+2, c=b+3;
由于按顺序求值, 所以能够保证b一定在a赋值之后, c一定在b赋值之后。该逗号表 达式可以用下面3个有序的赋值语句来表示:
a=1;
b=a+2;
c=b+3;
逗号表达式是有值的,这一点是语句所不能代替的。逗号表达式的值为第n个子表达 式的值,即表达式n的值。例如:
int a,b,c,d;
d=(a=1,b=a+2,c=b+3);
cout<<d<<endl;
输出结果为:
6
上例中输出的结果d即为c的值。
逗号表达式还可以用于函数调用中的参数。例如:
func(n,(j=1,j+4),k);
该函数调用有3个参数,中间的参数是一个逗号表达式。括号是必须的,否则,该函数有4个参数了。逗号表达式作为值的形式,可以用于几乎所有的地方。
C++中,如果逗号表达式的最后一个表达式为左值,则该逗号表达式为左值。例如:
(a=1,b,c+1,d)=5; //ok:即d=5
注意:在C中,逗号表达式是不能作左值的,所以 “(a=1,b,c+1,d)=5;”将通不过编译
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式