以下程序运行后的输出结果是 #define S(x) 4*x*x+1 main() { int i=6,j=8; printf("%d\n",S(i+j)); } 在做这道题是我们不能以通常的思维来计算,一般来说肯定是想要给i+j加一个括号再代入define,像这样: 4*(i+j)*(i+j)+1 这样我们得到的计算结果就是 785 但是很明显答案是不正确的(用编译器运行一下就知道了)。 正确的是 括号里是什么我们就替换什么,所以应该是这样: 4*i+j*i+j+1 如此计算的结果就是81了