[理工][OS]100交大資聯 fork
#include<stdio.h>
#include<unistd.h>
void main()
{
pid_t pid;
int a=2;
while(a>=0)
{
a--;
pid = fork();
printf("pid=%d,a=%d\n",pid,a);
}
}
(A)eight lines are output by printf()
(B)a half of the output "pid" are 0
(C)three processes are created by fork()
(D)the sum of all output "a" is -6
(E)more than one of the processes contains an infinite loop
答案為(B)(D)
之前爬過很多fork的文,也會解99年連三fork的題了,
可是我怎麼覺得我碰到了這題,又被打回原形了......
我的想法是
╭──────────子3(a=-1)
│
父(a=1)──子2(a=0)──子3(a=-1)
│
子1(a=1)-─子2(a=0)──子3(a=-1)
│
╰──────────子3(a=-1)
想知道是哪裡錯了??
另外不知道板上有沒有人有交大資聯99和100的解答呢??
因為想看交大99和100的考古題但是鼎茂只有出單科一本的..
要全部買又覺得有點花錢@@
感謝耐心的看完~~~~~考試加油!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.31.59
推
01/10 13:06, , 1F
01/10 13:06, 1F
→
01/10 13:06, , 2F
01/10 13:06, 2F
→
01/10 13:06, , 3F
01/10 13:06, 3F
→
01/10 13:19, , 4F
01/10 13:19, 4F
※ 編輯: dingfun 來自: 59.105.31.59 (01/10 13:19)
→
01/10 13:55, , 5F
01/10 13:55, 5F
→
01/10 14:32, , 6F
01/10 14:32, 6F
→
01/10 14:54, , 7F
01/10 14:54, 7F
推
01/10 14:57, , 8F
01/10 14:57, 8F
→
01/10 14:57, , 9F
01/10 14:57, 9F
※ 編輯: dingfun 來自: 59.105.31.59 (01/10 14:58)
→
01/10 14:58, , 10F
01/10 14:58, 10F
※ 編輯: dingfun 來自: 59.105.31.59 (01/10 14:59)
→
01/10 15:01, , 11F
01/10 15:01, 11F
推
01/11 00:01, , 12F
01/11 00:01, 12F
推
01/11 00:04, , 13F
01/11 00:04, 13F
推
01/11 01:19, , 14F
01/11 01:19, 14F
→
01/11 01:19, , 15F
01/11 01:19, 15F
→
01/11 01:20, , 16F
01/11 01:20, 16F
→
01/11 01:20, , 17F
01/11 01:20, 17F
→
01/11 02:10, , 18F
01/11 02:10, 18F
→
01/11 02:12, , 19F
01/11 02:12, 19F
→
01/11 02:16, , 20F
01/11 02:16, 20F
→
01/11 02:17, , 21F
01/11 02:17, 21F
推
01/11 11:05, , 22F
01/11 11:05, 22F
→
01/11 13:17, , 23F
01/11 13:17, 23F
→
01/11 20:58, , 24F
01/11 20:58, 24F
→
01/11 20:59, , 25F
01/11 20:59, 25F
→
01/11 21:00, , 26F
01/11 21:00, 26F
推
01/11 23:47, , 27F
01/11 23:47, 27F
→
01/11 23:47, , 28F
01/11 23:47, 28F
→
01/11 23:47, , 29F
01/11 23:47, 29F
→
01/11 23:48, , 30F
01/11 23:48, 30F
→
01/11 23:48, , 31F
01/11 23:48, 31F
推
01/12 09:42, , 32F
01/12 09:42, 32F
→
09/11 14:45, , 33F
09/11 14:45, 33F