gpt4 book ai didi

更改 waitpid() 的参数

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:57 28 4
gpt4 key购买 nike

我想知道你是否可以更改参数waitpid() 目前我需要连续变量输出 ( 0.50 ) 来打印。但是,考虑到 waitpid() 在我尝试打印输出时只接受整数,它会给我 0。不确定如何解决这个问题,或者这是否就是问题所在。

计算应该看起来像 (1+(2 * 3)/(2 * 7)) = 0.5

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

int main(){


int a = 1, b = 2, c = 3, d = 2, e = 7;

int a_plus_pid, b_times_c_pid, d_times_e_pid;

int a_plus, b_times_c, d_times_e;

a_plus_pid = fork();
if(a_plus_pid)
{
b_times_c_pid = fork();
if(b_times_c_pid)
{
d_times_e_pid = fork();
if(d_times_e_pid)
{

waitpid(a_plus_pid, &a_plus, 0);
waitpid(b_times_c_pid, &b_times_c, 0);
waitpid(d_times_e_pid, &d_times_e, 0);

//Supposed to print 0.50
printf("%d" , ((a + (b_times_c))) / d_times_e);

}
else
{
exit(d*e);
}
}
else
{
exit(b*c);
}
}
else
{
exit(a);
}

}

最佳答案

pid_t waitpid(pid_t pid, int *status, int options);的第三个参数是 int,因此您不能在那里传递浮点值。

事实上,在那里传递这样的值是没有意义的。你需要更加努力地学习并重新考虑你的方法。

关于更改 waitpid() 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46315402/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com