下面的代碼打印:在if-else語句返回值 - C++
5
爲什麼它打印5?如果它返回5,爲什麼它不打印「詹姆斯」?我不明白下面的代碼。如果我刪除了其他字,它會打印-1。但是,它不應該返回一個默認值?
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int fonk()
{
int a = 5, b = 3;
int c = a*b;
if(c >10)
{
if(a<b && a >0)
{ cout <<"James";
return a;
}
else if(b<0)
{
return b;
}
}
else return -1;
}
int main()
{
int x = fonk();
cout << x;
}
該代碼不應該返回5.我會檢查,以確保你沒有被阻止重新編譯,以確保您實際開始執行權申請任何編譯器錯誤。 – Nabren
什麼編譯器?對我來說,它絕對不會打印或返回5 ... –
此代碼無法編譯,因爲並非所有路徑都返回值 –