C语言怎么在调用函数中修改main函数中的值

C语言新手求教。比如说我在main函数里定义了inti;然后我调用某个函数x(),在x()中执行了i--;这个时候i的值变成了i-1,可这个变化只是在这个函数中,如何在执... C语言新手求教。
比如说我在main函数里定义了int i;
然后我调用某个函数x(),在x()中执行了i--;这个时候i的值变成了i-1,可这个变化只是在这个函数中,如何在执行了x()后,让主函数中的i也变为i-1。
其实就是我要连续调用x()函数,想每次让i减1来计数,可是每次调用后结果都是计数是i只减了1。
展开
 我来答
百度网友6a6aa8c
2013-10-30 · TA获得超过1483个赞
知道小有建树答主
回答量:707
采纳率:100%
帮助的人:728万
展开全部

你将一个int类型设为参数,然后地址传递就可以了


例如:

void x(int &x)//注意这里有取地址符号,是地址传递
{
x = x-1;
}

//然后main中调用
int main()
{
int i=10;
x(i);//
//此时i成功减一
}
shine1991
科技发烧友

推荐于2017-12-15 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部

利用指针,利用全局变量的话会提高耦合度,破坏模块化,得不偿失

#include <stdio.h>
void x(int *p2i)
{
--*p2i;
}
int main()
{
int i=1;
x(&i);
printf("%d\n",i);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-30
展开全部
将i设置成全局变量static类型的就可以了
追问
请问一下这个怎么弄呢?
追答
声明变量时把 int i 换成 static int i;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式