gpt4 book ai didi

c++ - 返回引用

转载 作者:行者123 更新时间:2023-11-27 22:40:24 27 4
gpt4 key购买 nike

<分区>

  1. 以下代码的预期输出是“1 -1 3 4 5 6”。(arr[1]=2 应更改为 arr[1]=-1)。当我运行这段代码时,什么都没有改变,我不明白为什么。

  2. 如果“find”函数按值而不是按引用接收参数“seek”,会有什么区别?当我声明“seek”是一个值时,程序没有运行(0xC0000005)......但为什么会发生这种情况?

#include <iostream>

int& find (int arr[], int size, int& seek)
{
for (int i; i<size; i++) {
if (arr[i]==seek) return arr[i];
}
return seek;
}

void print (int arr[], int size)
{
for (int i=0; i<size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
}


int main ()
{
int arr[]={1,2,3,4,5,6};
int size = sizeof arr / sizeof *arr;
int seek=2;

find (arr, size, seek) = -1;

print(arr, size);

return 0;
}

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