关于循环和分支语句的一点点注意

关于循环和分支语句的一点点注意

以下代码都是错误 不可用

#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) 程序会报错 尽可能把某些可能会出现问题的地方让程序可以报错
在这里插入图片描述

发布了22 篇原创文章 · 获赞 5 · 访问量 3212

猜你喜欢

转载自blog.csdn.net/weixin_45271990/article/details/104240296
今日推荐