C语言操作符逻辑与,逻辑或面试真题(2)

2023-12-26 15:38:17

各位少年:

今天给大家分享几个代码示例,希望能帮助能从学习的方面,帮助大家。

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

大家可以思考一下,这段代码的最后结果是什么。

这个代码为什么结果是这样啊?明明是a++以后变成真了,为什么呢,打印的结果是这样子?

问题出来了,很显然a是先使用后++,意思是说a先于&&结果然后再++由于a是0为假所以后面不执行。

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

还记得我们上次所说的短路吗?再||如果有一个为真后面的不再计算,所以这个代码除了a是真变成了2其他都没执行,好本期分享到这里,希望对大家有所帮助,亲爱的少年们。

文章来源:https://blog.csdn.net/2301_79840227/article/details/135220069
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。