这个问题中为什么A是错误的C为什么是正确的 函数中不是不可以递归定义吗
3条回答 默认 最新
- liranke 2022-10-28 10:47关注
答案是C,当然可以递归定义,递归定义就是递归函数的定义。
对于A,说法是正确的。如果以数组名作为参数,其实传递的就是地址,就是实参的地址。所以,该地址的内容变化,实参数据当然也变了,因为操作的同一个地址。
例如:
【测试代码】:#include <stdio.h> #include <unistd.h> void add(int x[],int len){ x[0] = 1; x[1] =2; printf("x addr=%p\n",x); len = 6; printf("[add] len = %d\n",len); //return x[0]+ x[1]; } int main() { int data[2] = {3,5}; int len = 1; printf("函数调用前=====\n"); printf("data addr=%p\n",data); printf("data[0]: %d\n",data[0]); printf("data[1]: %d\n",data[1]); //int res = add(data,len); add(data,len); //printf("add res: %d\n",res); printf("函数调用后=====\n"); printf("data[0]: %d\n",data[0]); printf("data[1]: %d\n",data[1]); printf("[main] len =%d\n",len); return 0; }
【运行结果】:
函数调用前=====
data addr=0x7ffeed2258c0
data[0]: 3
data[1]: 5
x addr=0x7ffeed2258c0
[add] len = 6
函数调用后=====
data[0]: 1
data[1]: 2
[main] len =1本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测