C++、Java和Matlab不同语言关于 y=(++x)+(++x);结果不同的问题

设x的值为3,y=0,则表达式y=(++x)+(++x)后,y的值是( ),不同编译器会有不一样的答案。先写结果:

C++: y=10;

java: y=9;

matlab: y=6;

为什么会有这样的结果呢,到底哪个是对的?其实没有对错之分。原因是各编译器处理++和--的方式不一样。在用++和--运算符时提醒大家一定要遵循清晰明了的原则,不同语言中对++和--的处理不同,即使是相同语言不通编译器对++和--的处理也很可能不同,大家一定要慎用。


有错的地方欢迎指正。

你可能感兴趣的:(C/C++)