解释下为什么C语言中用函数交换两个数的值只能用指针,而不能用这个方法。。还有如果用全局变量该怎么写

2025-02-24 19:27:10
推荐回答(1个)
回答1:

因为在函数中的参数,并不是调用者的变量,而是临时申请的变量a和b存放main函数中变量a和b的值,并在函数中用来计算,在fun中给a和b赋值都是在操作这两个临时申请的变量,函数返回后,这两个变量被舍弃,函数调用也没有将这两个临时变量的值返回给main函数中调用使用的参数功能。
所以,在函数中要操作调用者申请的变量,需要给出它们的指针,函数中用指针来找到这些变量的位置和内容。