为什么我的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;
}
Run Code Online (Sandbox Code Playgroud)
该return
语句使函数立即以指定值退出。结果,当您执行语句时
return *arr[i];
Run Code Online (Sandbox Code Playgroud)
在循环内部,该函数将停止运行并返回指示的值。这意味着该循环不能执行多次,因为它将在第一次迭代后停止运行。
归档时间: |
|
查看次数: |
83 次 |
最近记录: |