全部问题 > 当前问题

if(!x),y ,y -是什么意思

白俊琪 2016-2-16 08:48:28

共 7 个回答

嘿嘿大人 2016-2-16 09:12:00

!x是将x的逻辑值取反的意思,后面两个我看不懂你要问啥

白俊琪 2016-2-16 09:45:14

回复 嘿嘿大人:谢谢,后面想问的是y++,y+-是什么意思,还有将逻辑值取反是啥

嘿嘿大人 2016-2-16 09:49:00

回复 白俊琪:比如说if(y++)可以分为两步,1 if(y),第二步y=y+1;;

当然如果是if(++y),同样分为两步,y=y+1,第二步if(y)

逻辑取反的意思就是本来后面的逻辑值为真,那么取反就是将它变为逻辑假,y+-这种说法没有的

白俊琪 2016-2-16 09:51:41

回复 嘿嘿大人:怎么能知道y++就是y=y+1,而不是y=y+2呢

最佳答案

嘿嘿大人 2016-2-16 09:52:12

回复 白俊琪:自加符号都是加1,规定而已

白俊琪 2016-2-16 09:53:19

回复 嘿嘿大人:好的。谢谢啦

嘿嘿大人 2016-2-16 09:56:51

回复 白俊琪:不谢,加油,嘿嘿

问题来自: 嵌套的if语句
有以下程序
#include <stdio.h>
main()
{ int x=1,y=0;
  if(!x) y++;
  else if(x==0)
    if (x) y+=2;
    else y+=3;
  printf("%d\n",y);
}
程序运行后的输出结果是 ______ 。
A. 3
B. 2
C. 1
D. 0
答案:D
解析:这道题目if嵌套的很混乱,根据else的就近原则,我先把格式给大家复原调整一下。 if(!x) y++; else { if(x==0) { if(x) y+=2; else y+=3; } } 由于x=1,因此!x为假,进入else。x==0为假,结束执行,y没有赋值。因此选D。