2013-06-19 44 views
0

下面的代碼片段工作:原因一個代碼片段工作,但不是其他

main() 
{ 
    struct book 
    { 
     char name[20]; 
     int noof; 
     float prices; 
    }; 
    struct book b={0}; 
    printf("%d %f", b.noof, b.prices); 
} 

在這裏,我name[ ]被intialised爲0,但下面的代碼段無法正常工作:

main() 
    { 
    char c[ ]=0; 
    printf("%c", c[0]); 
    }  

回答

2

0在:

char c[ ]=0; 

是不是一個有效的數組初始化。你需要把它周圍的括號:

char c[] = { 0 }; 

,或等效:

char c[] = ""; 

當您嘗試打印,%c不會工作,因爲性格0通常是不可打印。試用%d

printf("%d\n", c[0]); 
從所有

除此之外,您main功能應該宣佈恢復int

相關問題