| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:[求助]又是细节问题
只看楼主 加入收藏
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
 问题点数:0 回复次数:6 
[求助]又是细节问题

#include<stdio.h>

int main( void )
{
char c='A';
double x=1e+33,y=0.001;
printf("%d\n",1!=!!c==!!c);
printf("%d\n",x+y>x-y);
system("pause");
}
请给出答案,并请解释.谢谢

搜索更多相关主题的帖子: 细节 printf pause void 
2007-11-06 14:08
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 

#include <stdio.h>
#include <stdlib.h> /* 包含 stdtem() */

int main( void )
{
char c='A';
double x = 1e1 + 33, y = 0.001; /* 1e 是错误的,1e1 即1 *(10的1次方)*/

printf("%d\n",1!=!!c==!!c); /* (1 != !!c) == !!c // 这个错了吧 */
/* 这个要表达什么意思啊? */

printf("%d\n",x+y > x-y);
system("pause");

return 0; /* 还是加上比较好 */
}

/* 1e 无法通过编译! 1e 是无效的! */


/* 失误是“1e+33” 啊 */



[此贴子已经被作者于2007-11-7 13:02:55编辑过]


—>〉Sun〈<—
2007-11-06 14:09
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
无聊问题,看一下运算符优先级表不就行了
2007-11-06 15:30
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 
2楼,程序无误.1e有效.
[QUOTE]printf("%d\n",1!=!!c==!!c); /* (1 != !!c) == !!c // 这个错了吧 */
/* 这个要表达什么意思啊? */
printf("%d\n",x+y > x-y);[/QUOTE]
我想知道的就是这样的表达式应该怎么解释.
谢谢

不好意思我只是想明白真相
2007-11-07 09:35
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
printf("%d\n",1!=!!c==!!c);

1 != !!C 就是 1 != C`结果是 1

1 == !!C 就是 1 == C 结果是 0

到底是什么实际意思``我不太明白`` 要知道``关系表达试的结果永远是0或1``

C不是0也不是1```这个结果就永远是0``因为0和1都!=C


printf("%d\n",x+y>x-y); 结果是1``X,Y为正数``X+Y肯定>X-Y```


[此贴子已经被作者于2007-11-7 10:26:31编辑过]


女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-11-07 10:25
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 

我的逻辑是这样子的.

!c为0;
!!c应该为!0,也就是结构为1.那么1!=1 结果为0;
另外,在我的机器上(编译器turbo c),printf("%d\n",x+y>x-y); 结果为0;


不好意思我只是想明白真相
2007-11-07 12:47
monomania
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-16
收藏
得分:0 
[QUOTE]

我的逻辑是这样子的.

!c为0;
!!c应该为!0,也就是结构为1.那么1!=1 结果为0;
另外,在我的机器上(编译器turbo c),printf("%d\n",x+y>x-y); 结果为0;

[/QUOTE]
不好意思,出现错别字.
应该是

我的逻辑是这样子的.

!c为0;
!!c应该为!0,也就是结果为1.那么1!=1 结果为0;
另外,在我的机器上(编译器turbo c),printf("%d\n",x+y>x-y); 结果为0;


不好意思我只是想明白真相
2007-11-07 12:48
快速回复:[求助]又是细节问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019694 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved