【发布时间】:2022-01-07 13:25:47
【问题描述】:
int Square(int lenght)
{
std::vector < int > square(lenght);
for(int counter :square)
square[counter] = counter * counter ;
for(int counter : square){
printf("%d",square[counter]);
cout<<""<<endl;
}
你好
如您所见,我在 cpp 中有基础代码块。我尝试使用 for 循环使 Range-loop 总是从终端尴尬地取“0”。如何填写平方值?技术上存在什么问题,或者在类似情况下您有什么建议?
【问题讨论】:
-
你有一个长度元素的向量,所有元素都用 0 填充。你取每一个 0,然后将它自身相乘得到 0,然后将元素
square[0]设置为 0 的次数为长度。 -
这也是对副本的全部完成。它只是一个零。 OP 根本不知道基于范围的 for 循环是如何工作的。
-
正确!为什么我不放在向量里面?
-
for (int i=0; i < length; ++i) { square[i] = i * i;}; -
@drescherjm 为什么我使用矢量表示。有什么区别?如果我使用标准循环用法。我说它在技术上可行吗?