linux环境c语言编程!问题棘手!高手进!

2020-10-03 科技 91阅读
【第一个问题】
argv[i]越界了,不能保证都是null,改成这样
for(i=1;i demo[i-1]=atoi(argv[i]);
for(--i;i<3;++i)
demo[i]=10;
【第二个问题】
我的理解是第一个子进程wakeup的瞬间,其他的子进程还是sleep,因此第一个子进程执行了printf
优先级再高的进程sleep了也抢不过优先级低的活动进程
因此最好保持3个子进程同时活动
else//子进程执行代码
{
sleep(1);//为了父进程顺利启动3个子进程,sleep还是留着吧
for(i=1;i;i++);//保持活动一段时间
//报告进程号和优先级
printf("child %d priority=%d\n",getpid(),getpriority(PRIO_PROCESS,0));
exit(EXIT_SUCCESS);
//return EXIT_SUCCESS;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com