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,怎么做的 展开
for(y=1;y<10;)
y=((x=3*y,x+1),x-1)
输出x y 答案是15 14,怎么做的 展开
1个回答
展开全部
首先,逗号表达式的优先级最低,逗号表达式的返回值是最后一个表达式的值
------------第一次循环----------
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,
退出循环
------------第一次循环----------
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 代表,某个表达式的返回值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询