【问题标题】:Unknown error when comparing element in string to a character将字符串中的元素与字符进行比较时出现未知错误
【发布时间】:2015-12-26 16:19:30
【问题描述】:
1.     int wordCount;
2.     for (int x = 0; x < sen.length(); x++)
3.     {
4.          if (sen.at(x) == " ") {wordCount++;}
5      }

每次字符串中的元素为空时,我都会尝试增加 wordCount。但是每当我运行代码时,它都会在第 4 行生成一个错误,上面写着ISO C++ forbids comparison between pointer and an integer。 谁能告诉我如何解决这个问题以及为什么我不断收到错误。

【问题讨论】:

    标签: c++ pointers


    【解决方案1】:

    " " 不是字符,是由两个字符组成的字符串文字:空格和空终止符。空格字符为' '

    【讨论】:

      【解决方案2】:
      if (sen.at(x) == " ") {wordCount++;}
      

      " "是字符串字面量,需要用单引号-

      if (sen.at(x) ==' ') {wordCount++;}
      

      或者你可以使用函数 isspace

      【讨论】:

        【解决方案3】:

        森的类型是什么?类型可能不兼容

        【讨论】:

          【解决方案4】:

          " " 是一个字符串文字。您正在将 const char*char 进行比较,这是非法的,而不是您想要做的。将" 替换为'

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-09-15
            • 1970-01-01
            • 2021-10-17
            • 1970-01-01
            • 1970-01-01
            • 2020-07-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多