[問題] 系統程式的問題
void main() {
int td = 0;
fork();
for ( int j = 0; j < 4; j++) {
printf(" j = %d\n", j);
fflush(stdout);
td += j;
}
printf("td = %d\n", td);
exit(0);
}
請益一下這樣程式跑出來是會列出兩次資訊??
j=0
j=1
j=2
j=3
sum=6 同時印出兩次??
不知道跟fflush(stdout); 會不會有影響??
fflush不是清空buffer內的資料嗎?? 那他還會再輸出裡面的資訊??
-------------------------------------------
印一次
printf("hello\n");
//fflush(stdout);
fork();
印兩次
printf("hello\n");
fflush(stdout);
fork();
----------------------------------------------
但是這兩個 輸出的結果卻是不一樣
有請高手解析困惑點,感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.12.135
※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1396424892.A.C1C.html
→
04/03 12:22, , 1F
04/03 12:22, 1F
→
04/03 12:24, , 2F
04/03 12:24, 2F
→
04/03 12:24, , 3F
04/03 12:24, 3F
我想問的是這段程式void main() 會執行幾次??
下面的部分我只是參考來做比較?? 不知道上面的程式執行結果會是如何??
※ 編輯: oklp1415 (114.27.124.145), 04/03/2014 14:54:57
推
04/03 16:29, , 4F
04/03 16:29, 4F
→
04/03 23:26, , 5F
04/03 23:26, 5F
→
04/03 23:29, , 6F
04/03 23:29, 6F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章