题目内容

以下程序输出结果是()int var = 100;int main(void){int *p;pid_t pid;int fd;fd = open("temp", O_RDWR|O_CREAT|O_TRUNC, 0644);if(fd < 0){perror("open error");exit(1);}ftruncate(fd, 4);p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);if(p == MAP_FAILED){perror("mmap error");exit(1);}close(fd);pid = fork();if(pid == 0){*p = 7000;var = 1000;printf("child, *p = %d, var = %d\n", *p, var);} else {sleep(1);printf("parent, *p = %d, var = %d\n", *p, var);wait(NULL);int ret = munmap(p, 4);if (ret == -1) {perror("munmap error");exit(1);}}return 0;}

A. child, *p = 7000, var = 1000parent, *p = 0, var = 100
B. child, *p = 7000, var = 1000parent, *p = 7000, var = 100
C. child, *p = 7000, var = 1000parent, *p = 7000, var = 1000
D. child, *p = 7000, var = 1000parent, *p = 0, var = 1000

查看答案
更多问题

哪种进程之间的通信,数据不可以重复读( )

A. 共享内存映射进程间通信
B. fifo
C. 管道
D. 文件

流动性风险为公司因丧失现金而无法支付现金流出的风险

A. 对
B. 错

信用风险是指银行持有的目标被信用评等公司评等下降时,银行将面临更高的倒帐(违约)风险。

A. 对
B. 错

提款风险当利率上涨时,银行面临提款风险,其将存款提出投资其他更有利的目标

A. 对
B. 错

答案查题题库