c语言题目,求大神解答

 

为啥选c😳

#include"stdio.h"
num()
{
extern int x,y; //这句话表示x,y不是局部变量,而是函数外部声明的变量全局变量
int a=15,b=10;
x=a-b; // x=5
y=a+b; // y=5
return;
}
int x,y; // 定义了x, y作为全局变量。 num()和main()中的x,y都是一样的,就是这定义的x,y
void main
{
int a=7,b=5;
x=a+b; // x=12
y=a-b; // y=2
num(); // 将x修改为5,y修改为25
printf("%d,%d\n",x,y); // 输出 5, 25
}

 

extern是声明外部变量(全局变量)的关键字,所以它后面的x,y是全局变量,不是

这种题目上机测试下就知道了啊。问题就在于num里面xy前面的extern这个关键字。详细的你看看这个就知道了,他会找到全局变量x和y上面去的。

https://www.cnblogs.com/yuxingli/p/7821102.html

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632