这是很多人都没有真正理解的问题,可以说70%以上的初学者都这样,打个比方:
分数 90 以上输出 A,80 以上输出 B,60 以上输出 C,低于等于 60 输出 D,你会怎么做?
大部份没有真正理解 if else 语句的人的代码如:
- #include <iostream>
- using namespace std;
- int main()
- {
- int score;
- scanf("%d", &score);
- if(score > 90) printf("A");
- else if(score < 90 && score > 80) printf("B");
- else if(score < 80 && score > 60) printf("C");
- else printf("D");
- return 0;
- }
复制代码正确代码:
- #include <iostream>
- using namespace std;
- int main()
- {
- int score;
- scanf("%d", &score);
- if(score > 90) printf("A");
- else if(score > 80) printf("B"); // 这里不用再 写入代码 if score < 90 && score > 80 这种多于语句了!上面都已经过滤 score 肯定小于 90
- else if(score > 60) printf("C"); // 如上!!
- else printf("D");
- return 0;
- }
复制代码