我有一个字符串(即char * str),当我将它与空字符串(即* str!=" \ 0")进行比较时,我收到一个错误。那有什么问题?

时间:2017-04-29 03:10:17

标签: c string

我想找到一个字符串的长度。我定义了函数

int stringLength(char* str){
    char* strPointer = str;
    int length = 0;

    while((*strPointer) != "\0"){
        length++;
        strPointer++;
    }

    return length;
}

我收到警告:

warning: comparison between pointer and integer [enabled by default]                                                                                               
 while((*strPointer) != "\0")

我看不出我做错了什么。

1 个答案:

答案 0 :(得分:4)

*strPointer正在取消引用一个字符数组,因此它是一个字符。 因此必须与角色进行比较。 您需要将双引号替换为单引号,如下所示:

 while((*strPointer) != '\0'){