简单的两道c语言,求详解🙏

 

14题:是按位与然后再&&1

15题:括号表达式,从左到右运算,最后取最后一个的值。

14.

  • 帮你解读一下程序,这里的a=()&&(),也就是只要两个括号里的条件都为true,a就是1,否则a为0。
  • 先看x&15,这里的&只是一个运算符,代表求两者二进制的与操作。只有当x的值不是数值类型才会返回false,其他情况都会返回true。题目中x为int型,所以x能进行与操作,x&15的返回值就是true。
  • 再看z<'a',这个是比较‘A’和'a'的ASCII码的大小,你可以查ASCII表知道'A'的ASCII值是比'a'小的,因此这个返回值也是true
  • 这样综合一看,a的值就是true&&true,当然就是true,也就是1了。

15.

  • 从左到右依次计算,先是a=a+b++,这里b++应该后算,先赋值a=a+b=15,然后b++,b变成11。
  • 中间式子对结果无影响
  • 最后一个式子就是最后的输出值,输出值就是b+1=12