2017-04-21 22 views
-7

什麼是陣列的布爾值[1],如果該元素確實存在什麼是陣列的布爾值[1],如果該元素確實存在

#include<stdio.h> 
int main(){ 
    int array[2]={23,2452}; 
    if(!array[1]){ 
     printf("hello warld"); 
    } 
} 
+4

'0'是錯誤的,其他都是真的。 –

+0

'如果此元素確實存在'...然後訪問[未定義行爲](https://en.wikipedia.org/wiki/Undefined_behavior)。 –

+0

不存在的數組元素,即其索引超出此數組範圍的數組元素沒有任何值。訪問涉及的數據對象邊界之外的任何存儲位置都會導致未定義的行爲。 – Gerhardh

回答

0

作爲陣列[1]是一個整數你將打印「你好病房」,如果它等於0.

1

假設你有int n;,那麼if(n)相當於if(n != 0)(你可能已經知道了)。類似地,!n相當於!(n != 0),這又等於n == 0

而後者正是你有if(!array[1]),爲array[1]僅僅是一個整數:if(!(array[1] != 0))越來越if(array[1] == 0)。魔法結束...

相關問題