2016-07-24 60 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是一个常数,所以答案是正确。 –