我正在尝试编写一个程序来验证使用C的区号。用户输入一个区号并且程序检查它是否有效。我正在做一个数组。当我运行程序并输入有效的区号时,我会收到“无效的区号”。我认为我的逻辑存在问题。警告:指针和整数之间的比较?逻辑错误?
另外编译时,我得到warning: comparison between pointer and integer
。
我该如何解决这个问题?
这是我的代码:
#include <stdio.h>
int main()
{
int codeToCheck[4] = {303, 720, 970, 719};
int codeToFind = 0;
int i = 0;
printf("Enter an area code to validate: ");
scanf("%d", &codeToFind);
for(i = 1; i <= 4; i++)
{
codeToCheck[i] = codeToFind;
if(codeToFind == codeToCheck)
break;
}
if(codeToFind == codeToCheck)
printf("\nValid Area Code in Colorado!");
else
printf("\nInvalid Area Code in Colorado");
return 0;
}
你的for循环应该从0到4,而且你不能比较'如果(codeToFind == codeToCheck)'因为codeToCheck是一个数组, codeToFind是整数 – inquisitive
在'C'数组索引从'0'开始,你应该运行for循环从'0'到'3'。像'for(i = 0; i <4; i ++)' – Himanshu