int a = 5;printf("!a">

c语言中!a和a!的区别

来源:这里教程网 时间:2026-02-21 16:47:19 作者:

c语言中!a和a!的区别

直接回答:
在C语言中,

!a
表示逻辑非运算,而
a!
表示阶乘运算。

详细解释:

逻辑非运算(!a):

立即学习“C语言免费学习笔记(深入)”;

将真值转换为假,将假值转换为真。
!0
结果为1(真),
!1
结果为0(假)。

阶乘运算(a!):

计算数字a的阶乘。
5!
结果为120,即1 x 2 x 3 x 4 x 5。

实例:

<code class="c">int a = 5;
printf("!a = %d\n", !a); // 输出0,因为5是非0值,因此其非值为假(0)
printf("a! = %d\n", a!); // 输出120,因为5的阶乘是120</code>

注意:

阶乘运算必须对非负整数进行。 如果尝试计算负数的阶乘,程序将产生错误。

相关推荐