【问题标题】:Why I can't use i/10 in FOR LOOP, C++?为什么我不能在 FOR LOOP、C++ 中使用 i/10?
【发布时间】:2020-02-25 15:08:23
【问题描述】:

我不能在 **FOR LOOP、C++ 中使用 i/10。 你能找到我为什么不能使用它吗!! 当我写下面的代码时;

#include <iostream>
using namespace std;
int main()
{
    int sum=0,i;
    cout<<"enter a no.";
    cin>>i;
    for(i;i!=0;i=i/10)
    {
        sum=sum+i%10;
    }
    cout<<"sum="<<sum;
}

编译后显示:-

cpp_2.cpp:8:7: 警告:语句无效[-Wunused-value]

for(i;i!=0;i=i/10)

请帮帮我!!

【问题讨论】:

  • 该警告是关于第一次提到i。循环可以写成for ( ; i != 0; i = i / 10)。或者,更常见的是for ( ; i != 0; i /= 10)
  • 警告是关于i in for(i;...),三个部分中的第一个。那是没有效果的那个。

标签: c++ for-loop update-statement


【解决方案1】:

您可以,尽管i = i / 10 可以缩写为更清晰的i /= 10

有用的编译器会警告您有关 for 的初始化表达式,它只是 i,而 是无操作的。

写作

for (; i; i /= 10)

是等价的,并且会让编译器满意。请注意,我已将重复的 i != 0 简单地替换为 i

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 2010-12-03
    • 2020-02-16
    相关资源
    最近更新 更多