代码疑云(8)-逻辑符号间的逻辑

来源:互联网 发布:有深度的书 知乎 编辑:程序博客网 时间:2024/04/28 14:21

代码

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

:以上输出什么,为什么?

解答:int a=0,b=0;在在第一次printf语句中,!a为1,后面的++b和b++就不做了,所以第二次输出是0,第三次printf中是与运算,后面的++b和b++还要做的,所以第二次会输出b=2。

======= welcome to my HomePage(http://blog.csdn.net/zhanxinhang) to have a communication =======

原创粉丝点击