大学c语言程序设计求详解

大学c语言程序设计求详解,第1张

大学c语言程序设计求详解 程序只有两句
第一句:int a=4,b=3;
这一句声明了两个整型变量a和b,并给它们赋值a=4,b=3。
第二句:printf("%d\n",(--a==b++)?a++:b+1);
这是一个输出语句,是以整型数字格式输出一个值,这个值是表达式 (--a==b++)?a++:b+1的运算结果。
(--a==b++)?a++:b+1 叫问号表达式,它由三个表达式,表达式1是 --a==b++,表达式2是a++,表达式3是b+1。
表达式1是逻辑表达式,它判断--a与b++是否相等,因为a=4,--a是先自减,其值是3,b++是后自增,先提出b的原值(3)参与比较,然后再自增成为4,所以此处参与比较的b++的值是3,二者相等成立,整个问号表达式的值就等于表达式2的值。
表达式2的值是a++,也是后自增,即此处先取得a的原值(3),后面a再自增为4,就跟本句无关了。故表达式2的值为3。
最后得到的问号表达式的结果是3,就是输出3。
所以选项B是正确的。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/3806993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-10-17
下一篇2022-10-17

发表评论

登录后才能评论

评论列表(0条)

    保存