C语言中!y与y!的区别

 我来答
八哥说科技
高粉答主

2020-02-29 · 分享科技资讯,共享科技生活
八哥说科技
采纳数:111 获赞数:78618

向TA提问 私信TA
展开全部

1、语义不同:

C语言中,运算符“!”表示逻辑非运算,“!y”的表达式表示表达式 y 本来值的反值。而“y!”是错误表达式,没有实义。

2、逻辑不同:

“!y”是逻辑非运算,!只能用来表达式的前面而不是后面。“y!”是语法错误。

3、运行结果不同:

C语言中," !0" 这个逻辑表达式的值为1。(判断的这个数为0,成立,则其表达式的值为1)," !1" 这个逻辑表达式的值为0。(判断的这个数非0,不成立,则其表达式的值为0)。因此“!y”的值根据 y 取反,非 0 即 1。而 “y!”编译时会抛出语法错误。

扩展资料:

逻辑非的相关性质:

1、逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。

2、逻辑运算符有3个,它们分别是: !(逻辑非)、 ||(逻辑或)、&&(逻辑与)。在位运算里面还有 &(位与)、|(位或)、 ^(按位异或)的运算。

3、!运算符在逻辑运算符中的级别最高。

参考资料来源:百度百科-逻辑非

参考资料来源:百度百科-语法错误

FrankHB1989
推荐于2017-11-23 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3102万
展开全部
!y是逻辑表达式,!是前缀一元操作符逻辑非,对于非零操作数结果为0,否则结果为1。这里如果y等于0那么!y等于1,如果y不等于零那么!y等于0。单独的y!不是C语言的合法表达式,因为C没有后缀一元操作符!。在数学中,若y是非负整数,则!表示阶乘,有如下定义:0!=1,x!=(x-1)!·x(x是正整数),即x!=1·2·3·...·x。
====
[原创回答团]

参考资料: 原创

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
合如风C
2010-12-25 · TA获得超过385个赞
知道小有建树答主
回答量:193
采纳率:50%
帮助的人:63.8万
展开全部
!y在C语言中是表示为 逻辑运算符 “非”
y!这个应该是某个数的阶乘吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式