簡體   English   中英

警告:c中指針和整數[默認啟用]之間的比較

[英]warning: comparison between pointer and integer [enabled by default] in c

我想檢查用戶輸入是否只包含數字。 所以,我使用以下代碼:

for(i = 0; argv[1][i] != NULL; i++)
    if(!isdigit(argv[1][i]))
    {
        printf("Error");
        return -1;
    }

它運作良好,但我得到了這個警告:

warning: comparison between pointer and integer [enabled by default]

因為argv[1][i]是一個整數而NULL是一個指針。 我該如何避免這種警告?

NULL與null-terminator字符不同。 你應該使用'\\0'代替。

argv [1] [i]是一個字符,只需將它與'\\ 0'或0進行比較,它就更清楚了。

對於字符比較,可以使用(或者只使用0);

for(i = 0; argv[1][i] != '\0'; i++)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM