- 论坛徽章:
- 0
|
代码运行到 28 处时会出现 Segmentation fault (core dumped)。
如果是运行的27 行出就得得到正确的结果,虽然编译时没有错误。
从语法的角度理解28行是正确的做法,但是为什么会出错?
8 enum
9 {
10 ZERO,
11 ONE,
12 TWO,
13 THREE
14 };
15
16 int out(int cc)
17 {
18 printf("OUT put \n");
19 printf("cc = %d\n", cc);
20
21 return 0;
22 }
23
24 int output(void *argv)
25 {
26 //out((int )argv);
27 int i;
28
29 printf("glj 111 \n");
30 i = *(int *)argv;
31 out(*(int *)argv);
32
33 return 0;
34 }
35
36 int main(void)
37 {
38 int *tmp;
39 int a = 3;
40
41 tmp = &a;
42 // output(tmp);
43 output(5);
44 output(TWO);
45 return 0;
46 }
|
|