A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15098037606 中级黑马   /  2015-4-16 17:14  /  1331 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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 第三题好理解,第一二题我理解得不对,谁能帮我理解一下?

2 个回复

倒序浏览
  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:26
藤椅
与运算,第一个条件假则不去判断第二个条件,或运算第一个条件真不去判断第二个条件
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马