c语言一道题

请问主函数有其fun函数,如.(开辟空间)....fun(){a+=3,b++}...main{inta=5,b=7;fun();printf.....}主函数在调fun... 请问主函数有其fun函数,如

.(开辟空间)....fun(){a+=3,b++}...

main{int a=5,b=7;fun();printf.....}

主函数在调fun后,a,b在fun里值发生了变化,那么fun收回后main里的a,b值也会变吗
展开
 我来答
碧海风云

2019-03-26 · 碧海风的秘密小据点!
碧海风云
采纳数:909 获赞数:10280

向TA提问 私信TA
展开全部
不会。fun函数只接收main函数中的a,b两个变量的值,不会改变main函数中的a,b变量。
追问
只有fun有返回值的情况才会影响主函数的值是吗
追答

fun函数有返回值,也不会影响main函数中的a,b两变量值,除非你把fun函数的返回值赋予了a,b变量。

举几个例子吧:

#include <stdio.h>

int fun (int a, int b) { //fun函数只是拿了数值过来
a += 3; //这里的a,b不管怎么计算,都跟main函数里的a,b没有任何关系 
b++;
return a; //如果这里return一个值回去,那么main函数里的 fun (a, b) 整体为这个数值 
}

int main (void) {  
int a = 5, b = 7;
int c; 
c = fun (a, b); //这里c被赋值fun函数的返回值,也就是8,但main函数里的a,b仍是5, 7 
printf ("%d %d", a, b);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式