黑马程序员技术交流社区

标题: 说一下分析思路 [打印本页]

作者: 15098037606    时间: 2015-4-16 17:14
标题: 说一下分析思路
1>        第一题int x = 1,y = 1;if(x++==2 && ++y==2) {    x =7;}printf("x=%d, y=%d\n", x, y);
输出是x=2, y=12>        第二题int x = 1,y = 1;if(x++==2 || ++y==2) {    x =7;}printf("x=%d, y=%d\n", x, y);
输出是x=7, y=23>      第三题
int x = 1,y = 1;if(x++==2 & ++y==2) {            x =7;        } printf("x=%d, y=%d\n", x, y);
输出是x=2, y=2 第三题好理解,第一二题我理解得不对,谁能帮我理解一下?


作者: sunyang    时间: 2015-4-16 17:31
  1. #include <stdio.h>

  2. int main(int argc, char *argv[])
  3. {
  4.         int x=1;y=1;
  5.         if(x++==2&&++y==2)
  6.    {
  7.                 x=7;
  8.         }

  9.         printf("x=%d, y=%d\n",x,y);
  10.        
  11.         return 0;
  12. }
  13. //x++ 先比较后进行加,X=2;
  14. //++y 先加在比较,正常情况下会觉得y也应该是2,
  15. //但是事实不是这样的,因为做的&&运算条件1不满足,条件2直接跳过
  16. //楼主可以把&&换成||试试
复制代码


题目2 ||只要满足一个条件就认为满足条件,y=2,所以会执行括号里面的.

——————————————————————————————————————————
如果我解决了你的问题,请按照这个帖子把问题改成已解决,这样你我都能得到技术分,谢谢
http://bbs.itheima.com/thread-85079-1-1.html

作者: 谷飞飞    时间: 2015-4-16 18:55
与运算,第一个条件假则不去判断第二个条件,或运算第一个条件真不去判断第二个条件




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2