在C语言中,“!”是逻辑非的运算符。
“!5”是逻辑运算表达式。它是对后面的逻辑值取“反”运算。如:后面是真,则进行非运算后的值是假。
在C语言中,任何非0数字都解释为逻辑真,所以,数字5的逻辑值是真。
这样,“!5”的运算就是“非真”,结果当然就是“假”了。
在C语言中,规定用“1”代表逻辑真,用“0”代表逻辑假。所以,“!5”的值——逻辑假——就用“0”代表了。
是故,“!5”在C语言中的意思是“逻辑假”,它的值为0。
C语言运算符列表:
1、优先级1级
结合方向左结合(自左至右)
()圆括号
[]下标运算符
->指向结构体成员运算符
.结构体成员运算符(请注意它是一个实心圆点)
2、优先级2级
结合方向右结合(自右至左)单目运算符
!逻辑非运算符
~按位取反运算符
++自增运算符
--自减运算符
-负号运算符
(类型)类型转换运算符
*指针运算符
&地址与运算符
sizeof长度运算符
在c语言中 !代表 逻辑运算符非,5 是非0 , 所以 !5 表示 0。 C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。因为fun里面的s是静态变量,是存放在固定的内存地址的,静态变量只初始化一次。任何人调用fun函数时,这个s都是加1,相当于是用来计算函数被调用次数的计数器。 main里面调用了fun 2次,所以s增加了2,输出为5.