gpt4 book ai didi

C:传递给函数的数组是创建数组的副本还是修改原始数组

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:16 26 4
gpt4 key购买 nike

<分区>

当我在 C 中的函数中传入一个数组作为参数时,它是创建数组的副本还是实际上对原始数组进行更改?我这里有一个小程序,可以将数字转换成二进制形式。例如,如果数字为 15,则二进制形式为 1111。

void convertToBinary(int base10, int result, char *binaryResult){
int binaryVals[8] = {1,2,4,8,16,32,64,128};
if(base10 == 0){
printf("Binary Result %s", binaryResult);
}
else{
int max = 0;
for(int i = 0; i < 8; i++){
if(binaryVals[i] <= base10){
binaryResult[i] = '0';
}
else{
max = binaryVals[i-1];
binaryResult[i-1] = '1';
result = base10-max;
printf("Result %d", result);
break;
//convertToBinary(result,0, binaryResult);
}
}
}
}
int main(void){
char binaryResult[8];
convertToBinary(15,0,binaryResult);
}

递归部分让我失望了。我不确定为什么。我怀疑这是因为它每次运行递归时都会创建数组的副本。但我不确定如何解决。如果有人能帮忙就太好了,谢谢

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com