C语言中 y=((x=3*y,x+1),x-1)是什么意思
展开全部
这是考试题?
考逗号表达式吗?你这个问题本身就有问题,你的y没有初值。我只能假设y=1分析给你看
首先计算x=3*y,结果赋给x,假设是3;
然后计算x+1,用上面的结果就是3+1了,就是4.
逗号表达式取最右边表达式的结果赋值。那么
(x=3*y,x+1)
这个表达式的结果就是4.
在计算y=(4,x-1),你应该就明白了。x刚才是赋值过为3了,那么x-1=2;同理,
y=((x=3*y,x+1),x-1)
实际赋值为y=2,同时x有第一个表达式赋值为3.
考逗号表达式吗?你这个问题本身就有问题,你的y没有初值。我只能假设y=1分析给你看
首先计算x=3*y,结果赋给x,假设是3;
然后计算x+1,用上面的结果就是3+1了,就是4.
逗号表达式取最右边表达式的结果赋值。那么
(x=3*y,x+1)
这个表达式的结果就是4.
在计算y=(4,x-1),你应该就明白了。x刚才是赋值过为3了,那么x-1=2;同理,
y=((x=3*y,x+1),x-1)
实际赋值为y=2,同时x有第一个表达式赋值为3.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询