函数返回值return

来源:百度知道 编辑:UC知道 时间:2024/06/05 00:54:06
向各位C语言高手请教:
对于int unknown(int n) { if (n = 0) return n+1; return n+2; }
为什么unknown(0)的值等于2呢?

问题在if (n = 0) return n+1;语句上
注意if判断语句中写的是n=0,不是n==0,所以该语句始终是假,return n+1语句永远不会被执行
所以返回的是return n+2; 所以unknown(0)值等于2

两次循环?
不记得了,应该是吧

注意if(n=0),结果为0(假),所以return n+2
你的困惑应该是:
if(n==0),这样return n+1;
是不是把=和==看错了。

if (n = 0)
改为
if (n == 0)