
c语言 逻辑非的问题 请指教!
#include<stdio.h>intmain(){intiNumber1,iNumber2;iNumber1=10;iNumber2=0;printf("the1is...
#include<stdio.h>
int main()
{
int iNumber1,iNumber2;
iNumber1=10;
iNumber2=0;
printf("the 1 is Ture , 0 is False\n");
printf("5< iNumber1&&iNumber2 is %d\n",5<iNumber1&&iNumber2);
printf("5< iNumber1||iNumber2 is %d\n",5<iNumber1||iNumber2);
iNumber2=!!iNumber1;
printf("iNumber2 is %d\n",iNumber2);
return 0;
}
在上面程序 倒数第三行 iNumber2=!!iNumber1;
对 inumber 进行了2次逻辑非 为什么结果inumber2=1
下面是我的理解,您看看对不对,
因为 inumber1=10 非0 所以为1,
进行两次逻辑非后 结果仍然为1,
如果执行一次逻辑非 结果应该是0 展开
int main()
{
int iNumber1,iNumber2;
iNumber1=10;
iNumber2=0;
printf("the 1 is Ture , 0 is False\n");
printf("5< iNumber1&&iNumber2 is %d\n",5<iNumber1&&iNumber2);
printf("5< iNumber1||iNumber2 is %d\n",5<iNumber1||iNumber2);
iNumber2=!!iNumber1;
printf("iNumber2 is %d\n",iNumber2);
return 0;
}
在上面程序 倒数第三行 iNumber2=!!iNumber1;
对 inumber 进行了2次逻辑非 为什么结果inumber2=1
下面是我的理解,您看看对不对,
因为 inumber1=10 非0 所以为1,
进行两次逻辑非后 结果仍然为1,
如果执行一次逻辑非 结果应该是0 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询