作者NDHUIB (NDHUIB)
站內C_and_CPP
標題[問題] 可以幫我在linux跑跑看嗎= =
時間Mon Apr 20 17:07:28 2009
如題...
恐龍書的作業有一題要用fork()來做費伯納西數列
可是我電腦只有XP= = (已經是六年前的筆電了... 不太適合再裝OS操它= =)
可以請哪位版友幫我跑跑看這個program能不能用嗎?
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
int a=0, b=1, n=a+b,i,ii;
pid_t pid;
printf("Enter the number of a Fibonacci Sequence:\n");
scanf("%d", &ii);
if (ii < 0)
printf("Please enter a non-negative integer!\n");
else
{
pid = fork();
if (pid == 0)
{
printf("Child is producing the Fibonacci Sequence...\n");
printf("%d %d",a,b);
for (i=0;i<ii;i++)
{
n=a+b;
printf("%d ", n);
a=b;
b=n;
}
printf("Child ends\n");
}
else
{
printf("Parent is waiting for child to complete...\n");
wait(NULL);
printf("Parent ends\n");
}
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.192.22
1F:推 flamerecca:可以寫成.c檔讓人下載嗎 這樣要剪剪貼貼有點麻煩XD 04/20 17:09
2F:→ netsphere:我還以為是第n個child 代表第n項~ 04/20 17:11
4F:→ NDHUIB:書上題目是說輸入n 列出數列前n項~ 所以才這樣啦~ 04/20 17:16
5F:→ netsphere:其實你可以奘 Pthread library 阿 一樣可以在win跑 04/20 17:16
6F:推 FlyBrother:Parent ends(這是結果) 04/20 17:19
7F:推 sitos:fork 跟 pthread_create 不太一樣吧? 04/20 17:19
8F:→ sitos:fork 會變成兩個 process 但是 pthread 的 pid 是一樣的? 04/20 17:19
9F:→ FlyBrother:用Linux跑的 04/20 17:19
10F:→ FlyBrother:我好像搞錯了....^^", 可以編譯過啦... 也可以跑 04/20 17:21
11F:→ NDHUIB:因為題目指定要用fork() 所以只好拜託大家幫忙啦~ 04/20 17:21
12F:→ NDHUIB:請問FlyBrother 輸入5 會跑出什麼結果呢? 04/20 17:22
13F:推 FlyBrother:還是Parent ends 04/20 17:22
14F:→ weiyucsie:突然想到cygwin XD 04/20 17:24
15F:→ sitos:其實我覺得直接用 VirtualBox 裝一個 linux 就好了 04/20 17:25
16F:→ sitos:以後用到的機會還很多 04/20 17:25
17F:→ NDHUIB:F大~~ 你是說輸入數字完之後只會有一行"Parent ends"嗎? 04/20 17:28
18F:→ NDHUIB:沒有數列和其他字出來嗎= =? 04/20 17:28
19F:推 FlyBrother:有一大堆數字耶. 04/20 17:34
20F:→ FlyBrother:我輸入100000,5000,200,1000都是一樣的結果 04/20 17:35
21F:→ NDHUIB:OK~~那就謝謝你啦! 04/20 17:35
22F:→ FlyBrother:一堆數字+Parent ends 04/20 17:35
23F:→ weiyucsie:因為他寫六年前的筆電阿XD 04/20 18:03
24F:→ sitos:其實 VM 也不會太操阿,一次做一件事應該是還好 04/20 18:07
25F:→ james732:最近VM裝了Fedora10 只有文字介面與開發環境 也挺省的 04/20 18:28