求解为什么我的信号集清空和增加函数打印出来的与理论不符合呢?

michaelwu1979 2018-02-02 10:43:45
1 //信号集的操作
2 #include<stdio.h>
3 #include<stdlib.h>
4 #include<unistd.h>
5 #include<signal.h>
6
7 int main()
8 {
9 sigset_t set;
10 printf("set = %d\n",set);
11 printf("sizeof(sigset_t)= %ld\n",sizeof(sigset_t));
12 //清空信号集
13 int res = sigemptyset(&set);
14 printf("res = %d\n",res);
15 if(-1 == res)
16 {
17 perror("sigemptyset"),exit(-1);
18 }//0
19 printf("set = %ld\n",set); 应该 打印0 ,实际打印一大串数字,每次执行数字都不 同
20 //增加信号到信号集
21 sigaddset(&set,2);
22 printf("set = %ld\n",set);//应该打印2 ,实际打印2
23 sigaddset(&set,3);
printf("set = %ld\n",set);//应该打印6,实际打印3
25 sigaddset(&set,7);
26 printf("set = %ld\n",set);//应该打印70,实际打印7
27 return 0;
}

...全文
623 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
老马何以识途 2018-02-04
  • 打赏
  • 举报
回复
信号集,是一个集合呀,怎么可以直接整数表示信号值?

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧