【发布时间】:2020-08-28 23:33:35
【问题描述】:
我正在尝试编写一个程序,该程序接受用户输入的区号,并在此基础上根据此表显示区号所针对的相应区域:
区号-----------主要城市
229 --------------------- 奥尔巴尼
404 --------------------- 亚特兰大
470 --------------------- 亚特兰大
478 --------------------- 梅肯
678 --------------------- 亚特兰大
706 --------------------- 哥伦布
762 --------------------- 哥伦布
770 --------------------- 亚特兰大
912 --------------------- 萨凡纳
这是我下面的代码,我遇到的问题是 IF 语句给了我不正确的结果,例如如果我输入 912 它会给我“Atlanta”,这是不正确的,因为在 IF 语句中它说如果 912 等于用户输入“萨凡纳”应该显示。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
int main(){
int AreaNum;
printf("enter a area code: ");
scanf("%d", &AreaNum);
if (AreaNum == 229){
printf("Albany");
}else if (AreaNum == 404 || 470 || 678 || 770){
printf("Atlanta");
}else if (AreaNum == 478){
printf("Macon");
}else if (AreaNum == 706 || 762){
printf("Columbus");
}else if (AreaNum == 912){
printf("Savannah");
}else
printf("Area code not recognized");
return 0;
}
【问题讨论】:
-
A == B || C并没有按照你的想法去做。 -
@Beta 请解释一下它的作用。
标签: c if-statement int printf logical-or