【问题标题】:C++ - Is there a way to print out a comma if only when there's another output printed after the comma itself? [duplicate]C++ - 只有在逗号本身之后打印另一个输出时,有没有办法打印出逗号? [复制]
【发布时间】:2021-01-18 23:58:03
【问题描述】:

我正在尝试编写一段代码,如果在它之后打印出另一个输出,则它只会在输出后打印一个逗号。我用

  for(int j = 0; j < size; j++)
       {
          if(price[i][j] > 0)
          {
             cout << airports[j] << ", ";
          }
                  
       }

问题是我不知道如何去掉与列表中最后一个条目一起添加的最后一个逗号。它输出这个:

Airports' destinations: 

BUR (3): LAX, SFO, SMO, 
LAX (1): BUR, 
SFO (2): BUR, SMO, 
SMO (2): BUR, SFO, 

如何删除每个输出末尾的逗号?

【问题讨论】:

    标签: c++ for-loop printing


    【解决方案1】:
    for(int j = 0, bool comma = false; j < size; j++)
    {
        if (price[i][j] > 0)
        {
            if (comma)
                cout << ", ";
            cout << airports[j];
            comma = true;
        }
    }
    

    【讨论】:

    • 虽然这段代码可能会回答这个问题,但最好在不介绍其他代码的情况下解释它是如何解决问题的,以及为什么要使用它。从长远来看,纯代码的答案没有用处。
    • 我对 for 循环中的布尔值感到困惑。是否可以初始化 j 以外的其他变量?
    • for loop,看看 init-statement
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 2017-11-22
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多