【问题标题】:Using while / do-while loops for array element setting使用 while / do-while 循环进行数组元素设置
【发布时间】:2016-09-18 17:57:56
【问题描述】:

我在理解如何使用 while 循环来获得与此 for 循环相同的结果时遇到了一些麻烦:

for (int i=0; i<N; i++){
    int datum[i] = 0;
}

基本上,将数组 datum[N] 中的所有元素设置为 0。 以下代码在这方面是否有意义,还是我遗漏了什么?谢谢

int i = 0;
while (i < N){
    datum[i] = 0;
    i++;
}

【问题讨论】:

  • 不,你不是 :) 但是对于第一个循环,为什么要int?你不能重新声明datum[i]
  • 使用int datum[N] = {0}; 将它们初始化为零通常会更好。
  • @ScottStainton: int datum[N] = {} makes more logical sense 在 C++ 中。

标签: c++ loops for-loop while-loop do-while


【解决方案1】:

这两个代码示例产生相同的结果。

int i = 0;
while (i < N)
{
     datum[i] = 0;
     i++;
}

for (int i=0; i<N; i++) 
{
   datum[i] = 0; // remove int because you will be redclaring datum
}

【讨论】:

    【解决方案2】:

    不要使用其中任何一个。当你声明datum 时,这样做:

    std::vector<int> datum(N);
    

    完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-13
      • 2021-07-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 2021-07-18
      相关资源
      最近更新 更多