printf と scanf を使用して行った、フィボナッチ数列の n 番目の数を計算するプログラムを作成したいと考えています。しかし、プログラムによってプロンプトが表示されたときにシーケンス番号を入力するのではなく、コマンドラインでシーケンス番号を入力するようにプログラムを変更したいと考えていました。これが私が思いついたものです。コンパイルはしますが、実行するとクラッシュします...理由はわかりません。任意の提案をいただければ幸いです。
これは、反復を使用してフィボナッチ コードの n 番目の数を計算するプログラムです。私は次のように書いています: コマンドライン argv[1] で、計算したいシーケンスの番号を入力する必要があります。次に、プログラムはこのコマンド ライン引数を取得して while ループで使用し、この番号も出力します。
#include <stdio.h>
int main( int argc, char**argv ) {
int fib[3] = {0,1};
int counter = 0;
printf("The %dth Fibonacci number is:\n", atoi(argv[1]));
while ( counter < atoi(argv[1]) ) {
fib[2] = fib[0] + fib[1];
fib[0] = fib[1];
fib[1] = fib[2];
counter++;
}
printf("%d\n", fib[0]);
getchar();
return 0;
}