【发布时间】:2013-09-24 22:58:31
【问题描述】:
为什么它不返回任何值? 输出应该是 155,但它总是显示 0。为什么?
int main()
{
int i=5;
printf("%d",fun(fun(fun(fun( fun(i))))));
return 0;
}
void fun(int i)
{
if(i%2) return (i+(7*4)-(5/2)+(2*2));
else return (i+(17/5)-(34/15)+(5/2));
}
但如果我改变了
void fun(int i) // It doesn't work, case 1
to
int fun(int i) //It works fine, case 2
如果 fun 在 case 1 ( void fun(int i) ) 中没有返回任何值,那是怎么回事
fun(fun(fun(fun( fun(i)))))); this statement is working?
【问题讨论】:
-
Void 不返回值
-
@CAO....谢谢,但这不是我的问题。我在问为什么 fun(fun(fun(fun( fun(i))))));这个说法有效吗?
标签: c function return-value