2016-03-16 123 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

相關問題