关于分支与循环的一些细节

本文由@睡觉待开机原创,转载请通知,谢谢!
本内容在csdn网站首发,我的主页@[睡觉待开机]–点来看一下咯~
欢迎各位点赞—评论—收藏
如果存在不足之处请评论留言,共同进步!


前言:

`关于C语言分支于循环是比较简单,却有一些小细节,下面我们通过几道题目来进行探索

细节一:if与else匹配的细节

我们都知道知道if与else进行匹配,但是里面有个小点,希望各位注意:(请看代码)
题目:请看题目说出输出的结果:

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
		printf("要选我吗?\n");
	    if (b == 2)
		   printf("真的要打印我呀\n");
	else
		printf("打印我打印我!!!\n");

	return 0;
}

细节二:多个关系运算符连续使用

问题:请看代码说出输出结果:

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 100;
	int c = 3;
	if (a < b < c)
		printf("选我!!!\n");
	else
		printf("可能是我哦\n");
	return 0;
}

细节三:逻辑运算符中的短路现象

题目:请看代码计算出输出结果:

#include<stdio.h>
int main()
{
	int i = 0;
	int a = 0;
	int b = 0;
	int c = 0;
	int d = 0;
	i = a++ && ++b && d++;
	printf("a = %d b = %d c = %d d = %d\n", a, b, c, d);
	printf("i = %d\n", i);
	return 0;
}

答案:

答案1:真的要打印我呀
答案2:选我!!!
答案3:a = 1 b = 0 c = 0 d = 0 i = 0

总结

  • 问题一总结:else与最近的if匹配;
  • 问题二总结:逻辑运算操作符的逻辑是真返回1,假返回0;
    逻辑运算符在本题目中的运算逻辑是,a<b,是真,返回1,1<c,所以打印“选我!!!”;
  • 问题三总结:与运算符一个为假也就是0,那么后面不再进行计算;
    在本题中a为后置++,先使用后加加,先使用0,i接收到0后判断认为是假,对后面的与操作数字不进行计算,直接掠过。

欢迎指正,建议,评论,谢谢!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值