Visual C++ 6.0中if语句的常见问题

 1 # include <stdio.h>
 2 int main (void)
 3 {
 4     if (3 > 2)//如果在第四行加分号的话,编译的时候就会在第六行出错
 5         printf("你好\n");
 6     else//这是第六行。
 7         printf("haha\n");
 8 
 9 
10     return 0;
11 }

出错原因,因为电脑认为没有任何一个语句是以,else开头的。所以就会出错。


 1 # include <stdio.h>
 2 int main (void)
 3 {   
 4     float score;
 5     printf("请输入您的考试成绩:");
 6     scanf("%f", &score);
 7 
 8     if (score > 100)
 9         printf("这是做梦");
10     else if (score>=90 && score<=100) //不能写成90<==score<==100
11         printf("优秀");
12     else if (score>=80 && score<90)
13         printf("良好");
14     else if (score>=70 && score<80)
15         printf("");
16     else if (score>=60 && score<70)
17         printf("及格");
18     else if (score>=0 && score<60)
19         printf("不合格。蛤蟆皮,重修");
20     else //如果不写20和21行的话,那么语法上不会有问题,就是逻辑上说不通。
21         printf("不可能为负数啊\n");
22 
23 
24     return 0;
25 }
如果不写20和21行的话,那么语法上不会有问题,就是逻辑上说不通。所以要符合逻辑一般就要写else语句。






else是否则的意思,要是在else后面加上一个语句的话,就会使这个意思(会变味)
如果:表达式成立的话,就输出A。如果不成立的话,就执行下一个语句。
否则如果表达式2成立的话,就执行B。如果不成立的话,就执行下一个语句。
否则如果表达式3成立的话,就执行C。如果不成立的话,否则表达式4一定成立,这样显然是不对的。



这个表达式4没有实际的意义。逻辑上会出错。

猜你喜欢

转载自www.cnblogs.com/blogLL/p/10099887.html