&& 短路效果测试

C#:

 static void Main(string[] args)
 {
     bool result = true;
     result &= Func();
     result &= Func();
     result &= Func();
     Console.WriteLine("&= 最后结果:{0}\n", result);
     Console.ReadKey();

     result = result && Func();
     result = result && Func();
     result = result && Func();
     Console.WriteLine("result && 最后结果:{0}\n", result);
     Console.ReadKey();

     result = result & Func();
     result = result & Func();
     result = result & Func();
     Console.WriteLine("result & 最后结果:{0}\n", result);
     Console.ReadKey();
 }

 static bool Func()
 {
     int a = 1;
     int b = 2;
     int c = a + b;
     bool result = c != 3;
     Console.WriteLine("Func 函数 Result = {0}", result);
     return result;
 }

输出:

Func 函数 Result = False
Func 函数 Result = False
Func 函数 Result = False
&= 最后结果:False

Func 函数 Result = False
result && 最后结果:False

Func 函数 Result = False
Func 函数 Result = False
Func 函数 Result = False
result & 最后结果:False

result = result && Func(); 这个有短路效果。

好像没有result &&= Func();这样的写法。

C++:

#include <cstdlib>
#include <iostream>

bool Func()
{
    using namespace std;
    int a = 1;
    int b = 2;
    int c = a + b;
    bool result = c != 3;
    cout << "Func 的结果是:" << result << endl;
    return result;
}

int main()
{
    using namespace std;
    int result = true;
    result &= Func();
    result &= Func();
    result &= Func();
    cout << "&= 的结果是:" << result << endl << endl;

    result = true;
    result = result && Func(); // 这个有短路效果
    result = result && Func();
    result = result && Func();
    cout << "result && 的结果是:" << result << endl << endl;

    result = true;
    result = result & Func(); // 等效 &=
    result = result & Func();
    result = result & Func();
    cout << "result & 的结果是:" << result << endl;

    return 0;
}

输出:

unc 的结果是:0
Func 的结果是:0
Func 的结果是:0
&= 的结果是:0

Func 的结果是:0
result && 的结果是:0

Func 的结果是:0
Func 的结果是:0
Func 的结果是:0
result & 的结果是:0

result = result && Func(); 有短路效果。

好像没有result &&= Func();这样的写法。

posted @   double64  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示