c语言问题 for(y=1;y<10;) y=((x=3*y,x+1),x-1) 输出x y 答

c语言问题for(y=1;y<10;)y=((x=3*y,x+1),x-1)输出xy答案是1514,怎么做的... c语言问题
for(y=1;y<10;)
y=((x=3*y,x+1),x-1)
输出x y 答案是15 14,怎么做的
展开
 我来答
寒寒家
推荐于2016-11-20 · TA获得超过2921个赞
知道大有可为答主
回答量:1482
采纳率:100%
帮助的人:1985万
展开全部
首先,逗号表达式的优先级最低,逗号表达式的返回值是最后一个表达式的值
------------第一次循环----------
1. y = 1
2. 先内括号,先赋值; x = 3*1 = 3; 内货号的逗号表达式的返回值是:x+1 也就是4
3. 外部括号:(4, x - 1) 也就是 (3 ,3 - 1)
4. y = 2
此时 x , y 3, 2
------------第二次循环--------
1. x= 3*2 = 6; return x + 1 = 6 +1
2.(7, x - 1) -> (7, 5)
3. y = 5;
x, y 6, 5
---------第三次循环-------
1. x = 3 *5 = 15; return x+1 = 16;
2.(16, x - 1) ->(16, 14)
3. y = 14
x, y 15, 14,
退出循环
追问
return x值在这里起什么作用啊
追答
这里的return 代表,某个表达式的返回值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式