当前位置:首页C语言 > 正文

C语言中&和&&的区别

作者:野牛程序员:2023-07-14 18:12:40C语言阅读 2899

在C语言中,&&&是两个不同的运算符,具有不同的功能和用法。

  1. & 运算符:

    • 用于取地址操作:当&放在一个变量前面时,表示获取该变量的内存地址。

    • 用于按位与操作:当&用于两个整数之间时,表示执行按位与运算,将两个操作数的对应位进行逻辑与操作。

  2. && 运算符:

    • 用于逻辑与操作:&&用于两个表达式之间,判断两个表达式的结果是否都为真(非零)。如果两个表达式的结果都为真,则整个表达式的结果为真;如果其中一个或两个表达式的结果为假(零),则整个表达式的结果为假。

总结:

  • & 是取地址运算符和按位与运算符,用于不同的操作。

  • && 是逻辑与运算符,用于判断两个表达式的结果是否都为真。

示例:

#include <stdio.h>

int main() {
    int a = 10;
    int b = 5;

    int *ptr = &a;  // 使用&获取变量a的内存地址,赋值给指针ptr

    printf("a = %d, &a = %p\\n", a, &a);
    printf("ptr = %p\\n", ptr);

    int result1 = a & b;  // 使用&执行按位与操作
    int result2 = (a > 0) && (b > 0);  // 使用&&进行逻辑与操作

    printf("a & b = %d\\n", result1);
    printf("(a > 0) && (b > 0) = %d\\n", result2);

    return 0;
}

输出结果:

a = 10, &a = 0x7ffccf9979c4
ptr = 0x7ffccf9979c4
a & b = 0
(a > 0) && (b > 0) = 1


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击