> warning: comparison between pointer and integer
当我尝试编译以下代码时,出现上述错误。我意识到这个问题是常见的,我确实找到了许多帮助我的资源,但我不打算找到#define和argv []。抱歉,如果这是重复的话。
#include <stdio.h>
#define MINBOUND 5
#define MAXBOUND 10
int main (int argc, char *argv[]){
if (argc > 1){
if (MINBOUND <= *argv[1] <= MAXBOUND){
printf("arg within bound\n");
}
else {
printf("arg outside bound\n");
}
else {
printf("arg missing\n");
}
return (0);
}
答案 0 :(得分:0)
我现在正在使用手机,所以我无法测试以确定,但我相信这些是你的两个问题。
指向int比较的指针。你的#define
定义了整数,*argv[1]
是指向你传递程序的字符串的char指针。您需要在比较中使用atoi(argv[1])
。
您的if
语句语法无效。将其分解为两个条件并与&&
一起。
答案 1 :(得分:-1)