2012年2月27日 星期一

C語言 - 簡單小考題(1)

void main(void)
{
  int a=5, b=0, c=6;

  a=(a=b)&&(c=b);

  printf("a=%d, b=%d, c=%d \n",a,b,c);
}


最後答案是a=0,b=0,c=6



Q:為什麼最後答案c不是=0???

答案是因為&&在做怪。
&&前面如果是0的話就不會做後面的了,ex. A&&B, if A==0, B就會skip掉判斷

Note: OR (A||B) 也是一樣

沒有留言:

張貼留言