x=1。y=3。z=5。z>y条件成立返回1。返回0,所以结果是0。
!的优先级高,先计算出x+y的值,若x+y不为0,则!复(x+y)的值为0,反之为1,然后将这个值和z进行比较,如果大于制z返回1,小于z返回0。
具体的,这里是将x+y的值作为一个bool型返回了,所有不为0的数都相当于true(1),为0的数也就是false。!将表达式取反,!0==1/!1==0。
扩展资料:
C语言中所有格式化类型的定义:
1、%d/i
接受整数值并将它表示为有符号的十进制整数,i是老式写法。
2、%o
无符号8进制整数(不输出前缀0)。
3、%u
无符号10进制整数。
4、%x/X
无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)。
5、%f(lf)
单精度浮点数和双精度浮点数用f(lf在C99开始加入标准,意思和f相同)。
6、%e/E
科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写。
7、%g/G
有效位数,如:%.8g表示单精度浮点数保留8位有效数字。