注册 登录
编程论坛 C++教室

求助:一个简单的等式 为什么我的答案不对,是怎么算的

yqzjjx 发布于 2009-08-12 19:16, 463 次点击
x=y=z=0;
    ++x&&++y||++z;
为什么Z不是1而是0

#include <iostream.h>
void main()
{
    int x,y,z;
    x=y=2;
    z=3;
    y=x++-1;
    cout<<x<<"\t"<<y<<"\t"<<z<<"\n";
    y=--z+1;
    cout<<x<<"\t"<<y<<"\t"<<z<<"\n";
    x=y=z=0;
    ++x&&++y||++z;
    cout<<x<<"\t"<<y<<"\t"<<z<<"\n";
    --x&&++y&&++z;
    cout<<x<<"\t"<<y<<"\t"<<z<<"\n";
}
4 回复
#2
zinc2009-08-12 19:46
++x&&++y||++z;
是什么意思啊?
#3
cj06082009-08-12 19:54
因为&&和||运算是选择性运算,如果前面条件满足,则不会运行后面的
你的式子里++x&&++y的结果是ture.所以||的结果就是ture,不执行++z。
#4
zinc2009-08-12 19:55
那最后一段输出只减了--x,++y和++z都没有运算
#5
black4232009-08-15 10:49
3楼正解
1