c语言问题,请帮帮忙

#include<stdio.h〉voidff1(){externintx,y;x=a-b;y=a+b;}intx,y;main(){inta=7,b=5;x=a+b;y... #include<stdio.h〉
void ff1()
{extern int x,y;
x=a-b;
y=a+b;
}
intx,y;
main()
{int a=7,b=5;
x=a+b;
y=a-b;
ff1();
printf("%d,%d\n",x,y);
}
答案是:5,25
为什么是这个答案,为什么不用main函数x,y的值?

void f1(int x,int y,int z)
{x=111;y=222;z=333;
}
main()
{int x=100,y=200,z=300;
f1(x,y,z);
printf("%d,%d,%d\n",z,y,x);
答案:300,200,100
这个为什么用的主函数的x,y,z的值呢?
请帮忙解释一下,谢谢!!!
展开
 我来答
mochencui
2007-05-12 · TA获得超过262个赞
知道答主
回答量:421
采纳率:0%
帮助的人:0
展开全部
c语言中变量是自动释放 好好看书吧 这个东西书上都有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sam23222
2007-05-12
知道答主
回答量:58
采纳率:0%
帮助的人:34.6万
展开全部
调用不成功!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gaoyuanyao
2007-05-13 · 超过20用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:65万
展开全部
1,因为X,Y为全局变量
2,函数F1并没有把X,Y,Z(非全局变量)的值返回给主函数
而且void f1()的VOID代表无返回值..........
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nestlake
2007-05-12 · 超过10用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:54.2万
展开全部
这关系到c语言域的问题:也就是在c语言中变量是自动释放的,你写的f1函数中的变量在函数调用完成以后就释放了,所以打印出主函数的值,对不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式