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
。
有人可以告诉我如何解决这个问题,以及为什么我会继续犯错误。
答案 0 :(得分:1)
" "
不是字符,是由两个字符组成的字符串文字:空格和空终止符。空格字符为' '
。
答案 1 :(得分:1)
if (sen.at(x) == " ") {wordCount++;}
" "
是字符串文字,您需要使用单引号 -
if (sen.at(x) ==' ') {wordCount++;}
或者你可以使用函数isspace
。
答案 2 :(得分:0)
什么类型的森?这些类型可能不兼容
答案 3 :(得分:0)
" "
是一个字符串文字。您将const char*
与char
进行比较,这是非法的,而不是您要做的事情。将"
替换为'
。