2016-07-24 98 views
-5

當我在我的編譯器中運行這個時,我得到0044,有人能告訴我,如果我得到的輸出是正確的嗎?C中以下代碼段的輸出是什麼?

這整個代碼段是什麼意思?

int main() { 


    int X[10]={0}; 

    int N = 4; 

    int k ; 

    for(k = 0; k< N;k++){ 

    X[k] = k*2; 

    printf("%d" , X[N/2]); 

    } 
} 
+3

你問輸出是什麼,但後來說輸出是「0044」。然後你問是否輸出正確 - 你是什麼意思的「正確」?對與否取決於節目應該做什麼,但你不說這是什麼。參觀(http://stackoverflow.com/tour)值得一看如何提出好問題,並以一種可接受的方式提出問題。 –

+0

-1這不是一個很好的問題。它主要問你的C編譯器是否正常運行。當然,那段代碼會輸入「0044」(沒有換行符,所以你的提示會在那之後開始),但是在問題中沒有關於你爲什麼覺得這是一個有用的問題的信息。 – MAP

回答

2

是的,答案是正確的。 在步驟int X[10]={0};中,您已將所有數組元素初始化爲零。 printf("%d" , X[N/2]);在這裏,您想打印X[2]這就是0直到k=2。在k=2之後,其值改爲4。因此0044

+0

'在這裏你想打印X [2]'...我認爲它必須是'在這裏你想打印X [N/2]'在你的答案 – Cherubim

+0

@CherubimAnand:但是N是一個常數,所以答案是正確。 –

相關問題