求解为什么我的信号集清空和增加函数打印出来的与理论不符合呢?
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;
}