原因:在C语言中,指针和整型是不同的数据类型,它们之间不能直接进行比较。
改正:在arr[i]前加&取地址
[waring]comparison between pointer and integer
改正方法:1.显式类型转换(不推荐)
int value = 10;
int *ptr = NULL;
if ((int)ptr == value)
{
}
这里if ((int)ptr == value)将ptr转化为整数
2.检查指针是否为NULL:
int value = 10;
int *ptr = NULL;
if (ptr == NULL)
{
}
将ptr与NULL比较。
3.检查指针是否指向特定的地址:
int value = 10;
int *ptr = &value;
if (ptr == (int *)&value)
{
}
比较整数的地址和指针的地址是否一致
如果这个文章对你有帮助的话还请点点赞和收藏,如果哪里有错误的话也可以评论一下讨论讨论,比较本人大学牲初学C语言,还请多多宽容!
标签:comparison,waring,int,value,C语言,报错,NULL,ptr,指针 From: https://blog.csdn.net/2401_89694851/article/details/144679442