以下是引用yim在2013-7-28 01:56:28的发言:
#include
using namespace std;
int main()
{
int i,j,m,n;
i=8;
j=10;
m=++i+j++;
n=(++i)+(++j)+m;
cout<
他这里,描红的两行,第二行比第一行好点,第一行应与下一行用同样的方法,把子项用括号括起来,引导读者回忆++算符的概念(楼主显然没看书就急着做题)。如果实在不行,就把一行的++i和++j拆开了多行写,自己想表达的意图,自己最清楚,是使用变化前的值还是变化后的值,分行写哪有不清楚的道理,根本就不需要强硬使用这种语言独特的算符,难道没这种算符的语言就写不了不成。这种算符,在表达意图很清晰的场合,其实是很好的,但这个代码的例子就是刻意了,谭的书就总教这类代码不好(并非内容不好),考试也总考这种东西,可能都是这么教出来的吧。
分多行写,效率不会比写在一行低,因为编译器会自动优化,不需人工做的,写清晰了才是王道,自己做机器,就是降格把自己不当人看。
[
本帖最后由 TonyDeng 于 2013-7-28 22:48 编辑 ]