错误ISO C++禁止在指针和整数之间进行比较



我得到了这个错误:

〔错误〕ISO C++禁止在指针和整数之间进行比较〔-fpermission〕

我的代码:

#include <stdio.h>
int main()
{
int i[1];

int r = 4;

{
printf("enter a number between 1-10n");
while (i != r);
{
scanf("%d,&i[0]");
}
printf("good jobn :)");
}
}

问题是上面代码中的变量i是一个int数组,由于类型的衰减,该数组衰减为指向int指针。另一方面,变量rint。所以当你写:

while (i != r)

这意味着您试图将指向int的指针与int的指针进行比较,从而得出所述错误。

解决此问题,您可以使用以下程序:


#include <iostream>
int main()
{
int arr[4] = {}; //create an array named arr of size 4 with elements of type int all initialized to 0

//iterate through the array and take input from user 
for(int &element : arr)
{
std::cout << "Enter number:" << std::endl;
std::cin >> element; 
}

return 0;
}

最新更新