警告:c中指针和整数[默认启用]之间的比较

Eng*_*uad 4 c ubuntu comparison gcc

我想检查用户输入是否只包含数字.所以,我使用以下代码:

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

它运作良好,但我得到了这个警告:

warning: comparison between pointer and integer [enabled by default]
Run Code Online (Sandbox Code Playgroud)

因为argv[1][i]是一个整数并且NULL是一个指针.我该如何避免这种警告?

Oli*_*rth 14

NULL与null-terminator字符不同.你应该使用'\0'.