C语言复习1---逻辑运算符

1、设x,y,z ,t  均为int 型变量,执行以下语句后,t的值为:

 int  main()
{
   int x,y,z ;
   x=y=z=1;
   int t=++x||++y&&++z;
   cout<<x<<y<<z<<t<<endl;
}

在VS运行后,结果如图所示:

 如果把   int t=++x||++y&&++z;  替换成:

   int t=++x&&++y||++z; 运行结果为:


所以&&和||同时出现在表达式里,是按照自左向右算的。

int t=++x|| (++y&&++z);      算出++x,后面的就不用算了,或运算符1真全真

   int t=++x&&(++y||++z);         算出++x,如果为true,接着算++y,为true,就不用算++z,为假,就接着算++z;

                                                                    如果为false,后面的也就不用算了。

猜你喜欢

转载自blog.csdn.net/lyt15829797751/article/details/81057393
今日推荐