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。 展开
比如说我在main函数里定义了int i;
然后我调用某个函数x(),在x()中执行了i--;这个时候i的值变成了i-1,可这个变化只是在这个函数中,如何在执行了x()后,让主函数中的i也变为i-1。
其实就是我要连续调用x()函数,想每次让i减1来计数,可是每次调用后结果都是计数是i只减了1。 展开
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询