c++ - 为什么 for 循环不增加?
问题描述
为什么我的 for 循环不增加?整数“i”不会以某种方式递增,这会导致数组的第一个位置被打印出来。
我执行以下操作:
int* values = new int[10] {};
int& half(int* arr[]){
//Here, the "i" doesn't increment
for(int i = 0; i < 10; i++){
return *arr[i];
}
}
int main(){
int& a = half(&values);
std::cout << a << std::endl;
delete[] values;
return 0;
}
解决方案
该return
语句使函数立即以指定的值退出。结果,当您执行语句时
return *arr[i];
在循环内部,函数将停止运行并返回指示值。这意味着循环不能多次执行,因为它会在第一次迭代后停止运行。
推荐阅读
- substrate - polkadot.js:无法创建枚举
- jupyter-lab - 如何将笔记本(.ipynb 文件)添加到 Launcher?
- python - 如何为预训练模型应用烧瓶缓存?
- checkbox - 赛普拉斯:单击 TD 中带有特定文本的 td 旁边的复选框
- python - 使用 Pybind11 在 Python 中调用并行 C++ 代码
- r - 计算R中数据框中的相同行
- java - Spring Boot INSERT 参数
- javascript - 如何通过关注离子输入/不关注离子输入来单击打开和关闭的项目列表
- azure-cdn - Azure CDN 配置文件:从浏览器打开文件夹
- data-science - 如何在给定的人群中选择要分析的范围?