为什么c=2而不等于3啊?C++
为什么c=2而不等于3啊?
#include <stdio.h>
int f(int i){return ++i}
int g(int &i){return ++i}
int h(char&i)(return ++i}
main()
{
int a=0,b=0,c=0;
a+=f(g(a));
b+=g(g(b));
c+=f(h(c));
print("a=%d,b=%d,c=%d",a,b,c);
}
为什么c=2而不等于3啊?
#include <stdio.h>
int f(int i){return ++i}
int g(int &i){return ++i}
int h(char&i)(return ++i}
main()
{
int a=0,b=0,c=0;
a+=f(g(a));
b+=g(g(b));
c+=f(h(c));
print("a=%d,b=%d,c=%d",a,b,c);
}
[此贴子已经被作者于2007-6-21 15:34:43编辑过]
如果这样, 要把 c 的类型改成 char, 把 h() 的返回值也改成 char.