错误:无法比较指向整数的指针?

Poo*_*yaz -2 c++ pointers char

这是一个程序,找到一个字符串中最长的单词,但我有一个问题.编译器说我不能比较一个指向整数的指针!但我比较一个字符串指针的char指针

#include <string.h>
#include <string>
#include <iostream>
using namespace std;

string longest(char * a)
{
    int count=0;
    int finalcount=0;
    string longs="";
    string longest;  
    int lena=strlen(a);
    for(int i=0;i<lena;i++)
    {
        if(*a==" ")
        {
            if(count>=finalcount)   
            {
                finalcount=count;
                longest=longs;
            }
            count=0;
            longs="";
        }
        else{*a++;count++;longs+=*a;}
    }
    return longest;
}
int main()
{
    char a[]="which is the longest";
    cout<<longest(a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

her*_*tao 7

*a是一个char在这里,所以你应该使用它将它与另一个char(而不是带有类型的字符串文字const char *)进行比较==.

你需要改变

if(*a==" ")
Run Code Online (Sandbox Code Playgroud)

if(*a==' ')
Run Code Online (Sandbox Code Playgroud)