++ 的用法求教解决方法
++ 的用法求教C/C++ code#include stdio.h#define f(x) (x * x)int main(){int i 3,j,kint a,bj f
++ 的用法求教
C/C++ code#include <stdio.h>#define f(x) (x * x)int main(){ int i = 3,j,k; int a,b; j = f(i ++); k = f(++ i); i = 3; a = (i ++) * (i ++); b = (++ i) * (++ i); printf("%d %d %d %d\n",j,k,a,b); return 0;}
新手 请教下++的用法;
a的值,不是应该先i作为表达式的值,然后自增为4,然后4作为第二个表达式的值 最后的结果不是应该是12么。然后i = 5;怎么值是9;
b中,不是先i的值自增为6.然后 6 * 7么。怎么最后的值变成49了。。。
[解决办法]http://topic.csdn.net/u/20110826/09/601ebe9c-c2ae-4d63-a4e2-506c618bb654.html
楼主自己认真看吧。
[解决办法]你的宏定义最好改写成#define f(x) ((x) *(x))
使用宏的时候最好将变量括起来,否则往往会发生你想不到的结果,并且编译器不识别错误!