c++ 问题 高手请进 答后重谢

b=(1,2,3,4)答案为b等于4请问是怎么回事?... b=(1,2,3,4) 答案为b等于4 请问是怎么回事? 展开
 我来答
zhouhongming91
2011-06-25 · TA获得超过126个赞
知道答主
回答量:73
采纳率:0%
帮助的人:54.3万
展开全部
这是一个逗号表达式
C/C++语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:

  3+5,6+8

称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为

         表达式1,表达式2

逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式
  a=3*5,a*4
对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4” 是一个逗号表达式,先求出此逗号表达式的值, 如果a的原值为3,则逗号表达式的值为12,将12赋给a, 因此最后a的值为12。另一种认为:“a=3*5”是一个赋值表达式”,“a*4”是另一个表达式,二者用逗号相连,构成一个逗号表达式。这两者哪一个对呢?赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。
  一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=3*5,a*4),a+5 先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。
  逗号表达式的一般形式可以扩展为

    表达式1,表达式2,表达式3……表达式n

它的值为表达式n的值。
百度网友5bc03db
2011-06-25
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
内存被一个接一个的覆盖了,你想定义数组的话应该是b[0]=1;b[1]=...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qigongyu123
2011-06-25 · 超过36用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:102万
展开全部
你怎么输出的b=4?
追问
难道不是吗????
追答
我以为你的b是一个数组名呢?我说怎么输出b干啥呢,哈哈,zhouhongming91他说的对,这是一个逗号运算,逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。比如
a=5;
b=(a,a+2); 那么b的取值就是7了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sssssss23
2011-06-25 · TA获得超过494个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:273万
展开全部
首先要明白逗号运算是一个多元运算,它的整个的值都是最后一个表达式的值,这里所说的值是从左向右运算的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式