以下はコードです:
コード :
#include <iostream>
using namespace std;
int sum(int ); //To sum up the user input up to 1 , for e.g 4 = 4 + 3 + 2 + 1 = 10
int main(void)
{
int num;
int total;
cin >> num;
total = sum(num);
cout << total;
return 0;
}
int sum(int num)
{
if(num > 0) // How if num is -1 or -10??
return num + sum(num - 1);
}
質問 :
-1
1.) 上記のコードを実行して、eg orの if 条件に違反する値を入力しようとしました-100
。それでもcout
、total
変数を取得すると、変数に与えた値が返されますnum
。
2.) 私の質問は、これは標準的な動作ですか? num が condition に違反している場合にreturn
備えて、余分なステートメントはありません。return
それで、これは、条件が真でない場合に元の値を返すのは正常なことですか、それとも使用されているコンパイラに依存しますか?
ありがとうございました 。