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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!