a = a ++想知道视觉工作室的答案?

poo*_*oya -3 c++ visual-studio-2010

可能重复:
i = i ++真的是一个未定义的行为?

我只是想解释++和 - 给我的学生并在visual studio 2010中向他们展示一些关于它们的代码我只是测试它上面的代码

int main(){
   int a=3;
   int b=3;
   a=a++;
   cout<<a<<endl;
   cout<<b++<<endl;
}
Run Code Online (Sandbox Code Playgroud)

我希望两个cout打印3但第一个cout打印4 !!!! 我用g ++测试它,两个couts打印3 ...出了什么问题???

Pho*_*non 7

行为a=a++是未定义的.如果您想增加a,请a++改用.