c++ - 我无法弄清楚为什么我的代码不起作用 - codeforce - Brain's Photos

标签 c++

如果用户输入CYM中的任何一个,我的代码就会打印#Color > 字符。但是如果用户输入了WBG,那么程序应该打印出#Black&White。不幸的是,我的代码跳过了我的第一个 for 循环并直接打印出 #Black&White,我做错了什么?

#include <iostream>
#include <vector>

using namespace std;

int main()
{
  vector<char>colors;
  int row, column, letters = 0;
  cin>>row, column;
  letters = row * column;

  for(int i = 0; i < letters; i++)
  {
    char temp;
    cin>>temp;
    colors.push_back(temp);
  }

  for(int j = 0; j < letters; j++)
   {
     if(colors[j] == 'C' || colors[j] == 'Y' || colors[j] == 'M')
     {
       cout<<"#color"<<endl;
       return 0;
     }
   }

  cout<<"#Black&White"<<endl;

  return 0;
}

最佳答案

cin>>row, column; 行中有两个表达式,逗号将它们分隔开,column 在这种情况下是无用的表达式。

你的意思可能是cin >> row >> column;

column 未初始化使用。如果它恰好取值 0,您的第一个循环体将永远不会执行。请注意,以这种方式使用未初始化的变量会导致未定义的行为。

关于c++ - 我无法弄清楚为什么我的代码不起作用 - codeforce - Brain's Photos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39756898/

相关文章:

C++ 类/结构大小

c++ - QMap 返回作为引用有问题吗?

c++ - 在您配置的INTEL C++编译器(Linux)的搜索路径中找不到可执行文件

c++ - #define/#undef 是具有特殊含义的标识符的未定义行为吗?

C++ MySQL 准备语句

c++ - 在 C++ 中,为什么我可以访问在没有命名空间限定符的命名空间中定义的函数

c++ - 如何在 QTableView Qt C++ 中将 sqlite 数据库数据显示为多列 View ?

C++多个类继承自基类导致问题

c++ - 通过迭代加深实现Minimax搜索

c++ - forloop 数组行