
(代码为正确的,结果是18)
请问为什么我把连等于号改为等于号,输出的就是10呢?
连等于号号等于号有什么区别,谢谢大佬了
n=1是把1赋值给n,if(n)始终为真
n==1是判断n是否等于1,只有n为1的时候才为真
觉得有用的话采纳一下哈
区别:
- “=”是赋值的意思,是赋值运算符;
- 而“==”是相等运算符,用于判断两边是否相等;
if(n==1),是判断n的值是否等于1,如果等于1,条件判断为true,执行c=10;,条件判断为false,执行else c = age(n-1)+2;,
因为调用函数age(5),n=5,所以if(n==1)条件判断为false,执行c = age(n-1)+2;结果是18。
如果改成if(n=1),意思是将1赋值给n,n的值为1,c++中if(1)条件判断为true,所以执行c=10;所以结果是10.
C++中,if(0)条件判断为false,if(非0整数),条件判断为true.