为什么输出的结果是103呢?

[复制链接]
查看11 | 回复1 | 2008-12-14 16:39:17 | 显示全部楼层 |阅读模式
main()
{
int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d %d %d \n",k,a,b);
}

回复

使用道具 举报

千问 | 2008-12-14 16:39:17 | 显示全部楼层
k的值只能是1和0,a++=0,所以小于等于0为真,b--=3,不小于等于0所以值为假。!(b--<=0)为真。真与真与值为真。所以k=1.后++,--意思为先运算在自增,自减。所以a=0,b=3....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行