#include
int x, z;
int *q, *r;
void func();
void func2(int *a);
int main()
{
int y, z;
int *p;
y = 400;
p = &y;
func();
z = 100;
printf("%d = 100 = %d\n", *q, z);
*q = 300;
printf("%d = 300\n", x);
printf("%d = 800\n", *r);
func2(p);
printf("%d = 300 = %d\n", *q, y);
return 0;
}
void func() {
z = 100;
q = &z;
x = 300;
}
void func2(int *a) {
*a = 300;
}
要求不可以增加全局变量,不能修改main函数。
要求最后输出为
100 = 100 = 100
300 = 300
800 = 800
300 = 300 = 300
*r那里不是太明白,求大佬解惑
上面是我写的,*r那里不知道怎么写没写,想知道如果想要输出800=800应该怎么写
代码中没有对 *r 的赋值,所以结果不确定
我这里用 gcc 跑不出 800=800
相反是 Segmentation fault