首先,逗号表达式的优先级最低,逗号表达式的返回值是最后一个表达式的值 ------------第一次循环---------- 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, 退出循环
题目如是要求输出x=1
根据else语句与最近if语句匹配规定
错误是:
x=3;和x=5;缺少大扩号了。