2016-03-16 75 views
-1

我对C非常陌生,使用函数strstr时出现问题。 Make给我一个警告,我不明白,任何人都可以解释?C - 指针和整数之间的比较('char *'和'int')

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

我的代码:

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


int main (void) { 
    char reference[]  = "34,37"; 
    char number[]   = "3456789"; 
    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

'strstr()'不仅仅是一个谓词,它返回一个指向子串的实例的指针,如果它发现它的话。 – EOF

+0

我想你想用'strcmp'函数,不是吗? –

+0

nope,我想检查数字var的前两位数字是否出现在参考变量var – titiyoyo

回答

2

strstr()返回一个指针到第一子如果找到,并NULL如果没有找到。

更换

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

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

检查number_startreference