-4
fnord機能再帰関数?
誰かは、このコードが正確に何をしているかを説明できます。それは私の仕事ですが、私はそれをよく理解できません。
私はそれを試しました。 0と9の間の値を入力すると、同じ値が返されますか?メイン関数で
double fnord(double v){
int c = getchar();
if(c>='0' && c<='9')
return fnord(v*10+(c-'0'));
ungetc(c,stdin);
return v;
}
私はそうした:
int main(){
double v;
scanf("%lf",&v);
printf("%lf",fnord(v));
}
ステップデバッガを起動し、大きな値を試してください。 – dbush
'./myprog 123'を試してから' 4'、 '5'、' 6'と入力してください。 –