逻辑运算符和赋值运算符

[复制链接]
查看11 | 回复0 | 2007-4-22 10:05:05 | 显示全部楼层 |阅读模式
!是逻辑运算符,后面给的操作数会被当作一个逻辑真假值来看待。而在c,c++等大多数语言里面,都是非0即真。8不是0,所以就是代表真,然后你那个算式就成了!!!!真,也就是非非非非真,结果就是真。所以,严格来说,这个计算的结果是true,而不是1,那么为什么答案又说是一呢?这个就需要看上下文了,如果把这个结果赋值给一个整形变量,那么系统就会自动把布尔型的变量(也就是只能等于true或者false的变量)通过强制类型转换,转换为数值。而把布尔值转换为数值的规则就是,true转换为1,false转换为0.于是,如果题目说了这个的结果要表示成整数,那么答案就是1,否则答案就是true
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行