当前位置: 代码迷 >> C语言 >> [求助]又是细节问题
  详细解决方案

[求助]又是细节问题

热度:161   发布时间:2007-11-06 14:08:09.0
[求助]又是细节问题

#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  

----------------解决方案--------------------------------------------------------

#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编辑过]


----------------解决方案--------------------------------------------------------
无聊问题,看一下运算符优先级表不就行了
----------------解决方案--------------------------------------------------------
2楼,程序无误.1e有效.
[QUOTE]printf("%d\n",1!=!!c==!!c); /* (1 != !!c) == !!c // 这个错了吧 */
/* 这个要表达什么意思啊? */
printf("%d\n",x+y > x-y);[/QUOTE]
我想知道的就是这样的表达式应该怎么解释.
谢谢
----------------解决方案--------------------------------------------------------
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编辑过]


----------------解决方案--------------------------------------------------------

我的逻辑是这样子的.

!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;

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

我的逻辑是这样子的.

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


----------------解决方案--------------------------------------------------------
  相关解决方案