我得到的給定代碼的輸出是「0」,儘管我 初始化c的值爲「1」...有人可以解釋它... 爲什麼值「C」在下面的代碼中改變?爲什麼「C」的值在下面的代碼中發生變化?
#include <iostream>
using namespace std;
int c=1; // global initialized 'c' as 1..
long long f(long long n){
if(n==6){
return 2;
}
else{
c=c+1;
f(n-2);
}
}
int main()
{
long long n,ans,p;
cin>>n;
ans=f((2*n)-2);
cout<<c; //printing out the value of 'c'
return 0;
}
你在進入對於n?你使用什麼編譯器? – amza
如果您不會/不能運行調試器,請嘗試在f()開頭添加'cout << c <<「」'以觀察行爲。 –
@stazima取n = 3的值...... –