簡體   English   中英

如何將float類型的狀態轉換為WEXITSTATUS

[英]how to cast status of type float to WEXITSTATUS

我有下面的代碼,但是我需要exit(status)返回一個float,但是WEXITSTATUS沒有收到一個float,因為狀態必須是int,所以請問如何解決?

scanf("%f%f",&f,&g);
        P = fork();
        if(P == 0){
            printf("\nje suis le fils multiplication: PID = %d\n", getpid() );
            printf("mon pere: PID = %d\n", getppid() );
            resultat2 = f * g;
            exit(resultat2);
        }else if(P < 0){
            printf("FORK a echoue\t");
            exit(EXIT_FAILURE);
        }else{
            printf("\nje suis le pere : PID = %d\n", getpid() );
            printf("mon fils: PID = %d\n", P );
            P = wait(&status);
            if(WIFEXITED(status))
                printf("le produit = %d \n", WEXITSTATUS(status));
        }

退出狀態並不意味着傳輸計算結果。 這意味着用0表示成功終止,用大於零的值表示不成功終止。 您可以傳遞不同的非零值,以返回錯誤代碼。

不要濫用這種機制。 您應該打印結果並將其解析在父級中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM