打印问题求高手帮忙
时间:2011-05-19
来源:互联网
代码如下
1 #include <stdlib.h>
2 #include <stdio.h>
3
4 int main()
5 {
6 pid_t pid;
7 int k=55;
8
9 if(pid=fork()<0)
10 perror("fork error");
11
12 if(pid==0){
13 k++;
14 }
15 //system("ps -al");
16 printf("getpid=%d,pid=%d,kkk=%d\n",getpid(),pid,k);
17 return 0;
18 }
运行后进程号不一样,但变量k都一样被++了
后来吧19行if拍段修改为
9 if((pid=fork())<0)
运行正常,只有pid=0的子进程被++了
查了运算符优先级 貌似没什么关系
我想知道为什么那个判断没加括号后变量k貌似成了共享的变量,或者说子进程的k++为什么再父进程里也运行了
什么原因
1 #include <stdlib.h>
2 #include <stdio.h>
3
4 int main()
5 {
6 pid_t pid;
7 int k=55;
8
9 if(pid=fork()<0)
10 perror("fork error");
11
12 if(pid==0){
13 k++;
14 }
15 //system("ps -al");
16 printf("getpid=%d,pid=%d,kkk=%d\n",getpid(),pid,k);
17 return 0;
18 }
运行后进程号不一样,但变量k都一样被++了
后来吧19行if拍段修改为
9 if((pid=fork())<0)
运行正常,只有pid=0的子进程被++了
查了运算符优先级 貌似没什么关系
我想知道为什么那个判断没加括号后变量k貌似成了共享的变量,或者说子进程的k++为什么再父进程里也运行了
什么原因
作者: songshtao 发布时间: 2011-05-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28