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>注意:
阶乘运算必须对非负整数进行。 如果尝试计算负数的阶乘,程序将产生错误。