gpt4 book ai didi

使用 #define 和 argv[] 比较指针和整数警告

转载 作者:行者123 更新时间:2023-11-30 21:12:37 25 4
gpt4 key购买 nike

> 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);
}

最佳答案

我现在在移动设备上,因此无法进行测试以确定,但我相信这是您的两个问题。

  1. 指向 int 比较的指针。您的#define正在定义整数,*argv[1]是一个char指针,指向您传递给程序的字符串。您需要在比较中使用 atoi(argv[1])

  2. 您的 if 语句语法无效。将其分解为两个条件,然后&&在一起。

关于使用 #define 和 argv[] 比较指针和整数警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44487237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com