C - 指针和整数之间的比较(' char *'和' int')

时间:2016-03-16 00:37:56

标签: c

我在C上很新,我在使用函数strstr时遇到了问题。 Make给了我一个我不明白的警告,任何人都可以解释一下?

  

警告:指针与整数之间的比较(char *int)   生成if (strstr(reference, number_start) == 1)警告。

我的代码:

#include <stdio.h>
#include <string.h>


int main (void) {
    char reference[]        = "34,37";
    char number[]           = "34567890123456";
    char number_start[]     = {number[0], number[1], '\0'};

    if (strstr(reference, number_start) == 1) {
        printf("Yup, iit's workin'\n");
    } else {
        printf("Try again, wookie\n");
    }

    return 0;
}

1 个答案:

答案 0 :(得分:2)

strstr()返回指向第一个子字符串的指针(如果找到),如果找不到,则返回NULL

替换

if (strstr(reference, number_start) == 1) {

if (strstr(reference, number_start) != NULL) {

检查number_start是否在reference