请向我解释此代码的结果。后增量和增量前置运算符
//代码a 当我在我的笔记本电脑上运行此代码时,y的值为4.我认为,y的逻辑值应该为5,因为通过执行x ++它应该返回2而不递增,因为它是后增量然后当我们添加现在包含增加值的x时,即3。所以2 + 3是5,根据我。但根据我的Turbo C++ 3.0答案是4.
#include <stdio.h>
void main()
{
int x = 2,y;
**int y = x++ + x;** // ans 4
printf("y is :%d", y);
}
//代码B 当运行该代码,答案是6。这里涡轮C++ ++在x被拾取x的递增的值++ 3.0,这与上述代码相反。逻辑上来说,答案是正确的,但在上面的代码中没有。 的#include
void main()
{
int x = 2,y;
**int y = x++ + ++x;** //and 6
printf("y is :%d", y);
}
你运行它并找出?你是否运行它我是一个调试器?什么让你困惑? – abligh
分配这个练习的老师的重点是让你通过研究操作员顺序和优先级的规则自行计算出来。让我们向你解释它会击败目标。 – Barmar
请参阅https://en.wikipedia.org/wiki/Comma_operator –