小编zha*_*eng的帖子

C++中'和'和'&'有什么区别?

#include <iostream>
int main(int argc, char* argv[])
{
    unsigned long mask = 0x00000001;
    unsigned long mask1 = 0x00000001;
    unsigned long mask2 = 0x00000010;
    if ((mask and mask1) && (mask and mask2))// CONDITION_1 is True.
        std::cout << "Ohhhhhhh..." << std::endl;
    if ((mask & mask1) && (mask & mask2)) //CONDITION_2 is False.
        std::cout << "No Output..." << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为CONDITION_1和CONDITION_2都是假的,但我的想法显然是错误的,为什么'和'和'&'在C++中不一样?

c++

1
推荐指数
2
解决办法
433
查看次数

关于C中关键字'return'的疑问

#include <stdio.h>

int* _pTest1(void) {
    int a = 10;
    int *_pA = &a;
    return _pA;
}

int* _pTest2(int a){
    int* _pA = &a;
    return _pA;
}


int main()
{
    int* _pT = _pTest1();
    printf("%d\n", *_pT);

    _pT = _pTest2(20);
    printf("%d\n", *_pT);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

1073831176
20
Run Code Online (Sandbox Code Playgroud)

为什么第一个输出不是10,而是1073831176?func _pTest1中的'return _pA'和func _pTest2中的'return _pA'之间有什么区别?

c

-1
推荐指数
1
解决办法
125
查看次数

标签 统计

c ×1

c++ ×1