Verstehen, wie die Wartefunktion in C funktioniert, und sehen Sie klar, wie sie verwendet werden könnenLinux

Linux verstehen
Anonymous
 Verstehen, wie die Wartefunktion in C funktioniert, und sehen Sie klar, wie sie verwendet werden können

Post by Anonymous »

Im Prozess des Erlernens von Gabel und Prozessen in der C -Sprache habe ich einige Punkte ausgesetzt, die mir beispielsweise die Verwendung der Funktion (warten) < /p>
Ich habe einige Beispiele dafür, wann die Funktion auf eine andere Art und Weise funktioniert hat, die ich hoffte. Kann ich eine klare Erklärung dafür erhalten, warum es auf diese Weise funktioniert?

Code: Select all

#include 
#include 
#include 
#include 
#define N 10

int main(){
int c1, c2, t, i;
c2 = 1;
c1 = 0;

for(i = 1; i < N; i++){

switch(fork()){

case -1:
printf("Error creating process\n");
return -1;
case 0:
t = c2;
c2 = c1 + c2;
c1 = t;
break;
default:
printf("%d ", c2);
wait(NULL);
return 0;
break;

}
}
if(i == N){
printf("%d ", c2);
}

return 0;
}
Aus irgendeinem Grund druckt dieser Code die fibonacci Sequenz in umgekehrt obwohl der übergeordnete Prozess vor der Verwendung des Wartens druckt. fibonacci Sequenz in Reverse Kann mir jemand bitte erklären, warum dies passiert

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post