#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");
}
请给出答案,并请解释.谢谢
#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");
}
请给出答案,并请解释.谢谢
#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编辑过]
[此贴子已经被作者于2007-11-7 10:26:31编辑过]
我的逻辑是这样子的.
!c为0;
!!c应该为!0,也就是结构为1.那么1!=1 结果为0;
另外,在我的机器上(编译器turbo c),printf("%d\n",x+y>x-y); 结果为0;
我的逻辑是这样子的.
!c为0;
!!c应该为!0,也就是结构为1.那么1!=1 结果为0;
另外,在我的机器上(编译器turbo c),printf("%d\n",x+y>x-y); 结果为0;