A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liusuizuoyou 中级黑马   /  2015-7-20 23:11  /  1043 人查看  /  13 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 liusuizuoyou 于 2015-7-28 18:47 编辑

假设      int x=0;

下面两个等式成立吗?   求正详解!
             !x==1;
             !x==(x!=0);

13 个回复

正序浏览
ZHYU 初级黑马 2015-7-28 13:27:31
14#
假设      int x=0;

下面两个等式成立吗?   求正详解!
             !x==1;
             !x==(x!=0);
===========================================
只要是表达式,都有值,值为布尔类型。
所以
表达式(!x == 1)执行过程为:等号两边的值都是1,因此相等,所以表达式的值为真,条件成立;
表达式  !x==(x!=0) 执行过程为:等号左边的值为1,等号右边的值为0,因为0!= 0是真,因此表达式的值为假,所以条件不成立。
回复 使用道具 举报
语法没错,第一个成立,第二个不成立;
!x表达式结果是1,
(x!=0)表达式结果是0,
1==1成立,而1==0不成立
回复 使用道具 举报
但是我觉得吧  C语言里面true是1  false是0我现在学的是java true就是true  false就是false  如果是c的话就是我下面的计算
回复 使用道具 举报
liusuizuoyou 发表于 2015-7-26 17:25
能不能说得详细点  语法哪个地方有错误  解释下呗  万分感谢

你看啊()优先级最高对吧首先执行()里面的   因为X=0所以 (x!=0)是false 也就是为0  然后前面!x为1 1==0结果为false
回复 使用道具 举报
liusuizuoyou 发表于 2015-7-26 17:20
int x=0
      x!=0     ------->>都说了  x不等于0  呀

所以,x!=0不成立啊,为假,结果是0
回复 使用道具 举报
不应该会报错吗
回复 使用道具 举报
boboyuwu 发表于 2015-7-26 16:01
!是逻辑运算符 !x变成了1 1代表true  然后你让1==1  就是true    下面的(x!=0)语法有错误 ...

能不能说得详细点  语法哪个地方有错误  解释下呗  万分感谢
回复 使用道具 举报
Eil.tea 发表于 2015-7-26 15:24
第一个成立,第二个不成立,第二个!x是1,x!=0是0,最后 1==0不成立。

int x=0
      x!=0     ------->>都说了  x不等于0  呀
回复 使用道具 举报
红双喜 发表于 2015-7-26 14:30
#import

int main(int argc, const char * argv[]) {

果然实践才是检验  真理的唯一标准
回复 使用道具 举报
!是逻辑运算符 !x变成了1 1代表true  然后你让1==1  就是true    下面的(x!=0)语法有错误
回复 使用道具 举报
第一个成立,第二个不成立,第二个!x是1,x!=0是0,最后 1==0不成立。
回复 使用道具 举报
同学  你这样试试  肯    !x   跟 x!=0  的区别
回复 使用道具 举报
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int x=0;
        if(!x)    //再把  x!=0 放到if 里面试试能不能打印  "这个假设成立!"
            printf("这个假设成立!");
    }
    return 0;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马