我想编写一个程序来计算斐波那契数列的第 n 个数字,我已经使用 printf 和 scanf 完成了。但我希望更改我的程序,以便在命令行输入序列号,而不是在程序提示时输入。这就是我想出的。它可以编译,但是当我运行它时它崩溃了……不知道为什么。任何建议,将不胜感激。
这是一个使用迭代计算斐波那契代码的第 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;
}