C语言中,!a和a!的区别在于:!a是逻辑非运算,将真值转为假,假值转为真;而a!是阶乘运算,计算数字a的阶乘。

c语言中!a和a!的区别
直接回答:
在C语言中,!a表示逻辑非运算,而a!表示阶乘运算。
详细解释:
-
逻辑非运算(!a):
立即学习“C语言免费学习笔记(深入)”;
试客源码试客系统试用程序下载2018年国内领先最专业的试客系统基于微软ASP.NET(C# NET4.0)+MSSQL架构开发,性能与安全性先天就比PHP语言好很多,系统主要活动类型:免费试用、折扣试用、红包试用、拍A发B等众多模式(支持淘宝、天猫、阿里、京东、拼多多、蘑姑街等,支持定制满足你的一切需求),另附带收藏/流量优化,推广联盟(可支持N级提成)、安全认证体系、微信公众号集成、交流论坛、帮助中心、招商等子模块,系统默
- 将真值转换为假,将假值转换为真。
-
!0结果为1(真),!1结果为0(假)。
-
阶乘运算(a!):
- 计算数字a的阶乘。
-
5!结果为120,即1 x 2 x 3 x 4 x 5。
实例:
int a = 5;
printf("!a = %d\n", !a); // 输出0,因为5是非0值,因此其非值为假(0)
printf("a! = %d\n", a!); // 输出120,因为5的阶乘是120注意:
- 阶乘运算必须对非负整数进行。
- 如果尝试计算负数的阶乘,程序将产生错误。










