关于循环和分支语句的一点点注意
以下代码都是错误 不可用
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int age = 0;
scanf ("%d",&age);
if (18 <= age <= 30)
printf("青年\n");
else if (age > 30)
printf("壮年\n");
system("pause");
return 0;
}
if (18 <= age <= 30) 错误
例如输入age=17
17>=18 为假 结果为0 而0<=30 运算结果最后为真
因此当输入17 会输出青年。
改正:if(18<=age&&age<=30)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num = 0;
scanf("%d", &num);
if (num = 5)
printf("hehe\n");
system("pause");
return 0;
}
问题所在
明明输入了6 可还是呵呵了
if (num = 5);
有的时候会少敲==
但是后面程序太多,并且程序也不会出错,但运行结果不对。
建议敲成这样if(5==num)
就算写出if(5=num) 程序会报错 尽可能把某些可能会出现问题的地方让程序可以报错