我假設我正在使用這種錯誤的方式,但想法是命令行參數是我的fibonnaci serquence的長度...但是我這樣做的方式,9我搞砸了......我該如何解決這個問題?C命令行參數問題
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> /* for fork */
#include <sys/types.h> /* for pid_t */
#include <sys/wait.h> /* for wait */
int fibonacci(int n)
{
int first = 0;
int second = 1;
int total, i;
for (i=0;i<n;i++)
{
printf("%d\n", first);
total = first + second;
first = second;
second = total;
}
return 0;
}
int main(int argc, char *argv[])
{
/*Spawn a child to run the program.*/
pid_t pid=fork();
if (pid==0) { /* child process */
if(*argv[1] == 45){
printf("number invalid \n");
}else{
int number = *argv[1] - 48;
fibonacci(number);
}
}
else { /* pid!=0; parent process */
waitpid(pid,0,0); /* wait for child to exit */
}
return 0;
}
這功課嗎?如果是這樣,你應該添加「家庭作業」標籤。 – Perry 2012-03-07 01:02:01