為什么這里的if..else不能用大括號
#include <stdio.h>?
int rr( n)
{
? ? int age;
if(n==1)
{
? ? age=10;
}
else
{
? ? age=rr(n-1)+2;
? ? return age;
}
}
int main()?
{
? ? int ss=rr(5);
printf("第5個(gè)人的年齡是%d歲", ss);
return 0;
}
我把if后面加個(gè)大括號,然后結(jié)束后再在else后面加個(gè)大括號,為什么這樣運(yùn)行出來是錯誤的,把大括號刪了后是正確的,為啥這里的if..else不能用大括號。。大佬求助
2022-10-18
如果return age在大括號里的話他會在每次的else中都被return回去了,也就是每次都被回歸(意思是這個(gè)意思,具體怎么說我也不清楚,意會即可)一直到第一個(gè)人的時(shí)候就成了10-2,最終輸出8是吧?
我一開始也是這樣的,看了一樓的回答才恍然大悟。
2022-10-13
return age;
這句要放在if{}else{}的外邊
如:
if(n==1)
{
? ? age=10;
}
else
{
? ? age=rr(n-1)+2;
}
return age;
2022-01-03
你把你想得代碼打一遍不是更直觀嗎
你說的不會是
if(){
else{
??
}
}
這樣吧?
貌似if語句沒有這樣使用的。。。你記錯了吧
你是不是跟下面這種搞混了