为什么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-06-21 14:12
2007-06-21 14:16
2007-06-21 14:17
2007-06-21 14:19
[此贴子已经被作者于2007-6-21 15:34:43编辑过]

2007-06-21 15:30
2007-06-21 15:32
2007-06-21 15:33
2007-06-21 23:04
如果这样, 要把 c 的类型改成 char, 把 h() 的返回值也改成 char.

2007-06-22 08:30