Advertisement

C/C++在线笔试题整理(实时更新)

阅读量:

在下午的时间段内,于牛客网平台尝试完成了2015年校园招聘研发职位的笔试题目,发现错误率较高,因此决定对部分题目进行归纳整理。

1、不算main这个进程,到底创建了多少个进程?

复制代码
 int main(int argc, char* argv[])

    
 {
    
    fork();
    
    fork() && fork() || fork();
    
    fork();
    
 }
    
    
    
    

解析:主要基于两个方面进行考量:首先,fork()函数在父进程中的返回值为子进程的标识符,而在子进程中的返回值为0;其次,短路求值的特性也需被纳入考虑范围。

注释:图中虚线表示当前进程,实线表示由该进程生成的子进程,括号内为对应的返回值。

如图所示,在执行第三次fork调用时,存在短路求值机制。若fork3的返回结果为0,则与运算的整体结果必然为0,此时fork4将不再执行。例如,在执行fork2时生成的子进程c2,若其返回值为0,则该子进程c2将

全部评论 (0)

还没有任何评论哟~