| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:逻辑运算符号的问题
只看楼主 加入收藏
wak4668
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:105
注 册:2012-8-20
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:6 
逻辑运算符号的问题
#include<stdio.h>
main()
{
    int a=5,c=4,b=5;
    a&&(b=b+1)||(c=b+1);
    printf("%d\n",a&&(b=b+1)||(c=b+1));
    printf("%d %d %d",a,b,c);
    getch();
}
为什么b的输出结果是7?
2013-03-12 22:05
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:10 
int a=5,c=4,b=5;
     a&&(b=b+1)||(c=b+1);//b=b+1 b=5+1 b==6
     printf("%d\n",a&&(b=b+1)||(c=b+1)); //b=b+1  b=6+1 b==7
     printf("%d %d %d",a,b,c);
     getch();呵呵
2013-03-12 23:42
zhangfudong
Rank: 4
等 级:业余侠客
帖 子:119
专家分:212
注 册:2012-12-12
收藏
得分:0 
接分
2013-03-13 16:32
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:10 
#include<stdio.h>
 main()
 {
     int a=5,c=4,b=5;
     a&&(b=b+1)||(c=b+1);   //在这里b=b+1,也就是b=6
     printf("%d\n",a&&(b=b+1)||(c=b+1));  //这里a=5&&(b=7)||(c=8),逻辑为真,所以输出1
     printf("%d %d %d",a,b,c);   //a的值没变一直为5,b的值在上面已经是7,c的值为4(因为在上面a=5&&(b=7)||(c=8)中逻辑运算符||前面为真后面不做运算判断,所以c=4
   
 }
2013-03-13 21:54
AntorDragon
Rank: 2
等 级:论坛游民
帖 子:45
专家分:12
注 册:2013-3-3
收藏
得分:0 
回复 4楼 tompobing
大哥,我也是新手,所以不是很懂,所以想问一下,第一个printf后面的的输出表列是那个楼主问的判断式,我想问一下,这种类型的表达式是在输出符号里还可以进行一次计算吗?因为只有这样所以才能变成7呢

那年京城大雪,或是天下大雪,我一骑绝尘
2013-03-13 22:26
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:0 
回复 5楼 AntorDragon
可以,你把第一个printf这句和上面那句分别注释运行下,你就明白了
2013-03-14 13:24
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
路过
2013-03-14 13:53
快速回复:逻辑运算符号的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015905 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved