我尝试了2种不同的for循环,其中一种有效,但其他似乎没有。第一个for循环的输出:2 3 4 5 5,第二个for循环的输出:1 2 3 4 5。
#include <iostream>
int main()
{
int arr[5] = {1,2,3,4,5};
for (int y : arr) std::cout << arr[y] << std::endl;
std::cout << "---------" << std::endl;
for (int i = 0; i<5;i++){
std::cout << arr[i] << std::endl;
}
return 0;
}
第一个循环是基于范围的循环,与在一定范围的值(例如容器中的所有元素,https://en.cppreference.com/w/cpp/语言/范围)
它类似于Java或C#foreach样式循环。
在这种循环中,y取的值是数组本身中的元素的值(1,2,3,4,5),而不是索引(0,1,2 ...),因此您不必不需要打印arr[y]
,只打印y
自己
例如,以下代码中的两个循环将打印10,20,30,40,50
#include <iostream>
int main()
{
int arr[5] = {10,20,30,40,50};
for (int y : arr) std::cout << y << std::endl;
std::cout << "---------" << std::endl;
for (int i = 0; i<5;i++){
std::cout << arr[i] << std::endl;
}
return 0;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句