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值也会变吗 展开
.(开辟空间)....fun(){a+=3,b++}...
main{int a=5,b=7;fun();printf.....}
主函数在调fun后,a,b在fun里值发生了变化,那么fun收回后main里的a,b值也会变吗 展开
展开全部
不会。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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询