#include <stdio.h> int fun(int a,int b) { printf("%d,%d\n",a,b); return a>b?a+b:++b; } int main() { int x=3,y=9,z; z=fun(x++,++x); printf("%d",z); return 0; }
收起
你好,望采纳!调用fun(x++,++x);时候注意x++是先传参,后自增,++x是自增后传参。所以,前一个参数,自增了一次,后面的参数加了两次。函数就后就变成f(4,5) printf("%d,%d\n",a,b); 打印就是4,5
报告相同问题?