2012-11-10 44 views
0

請幫助我爲什麼此代碼未按預期打印'*'字符的char數組?如何打印字符數組中的所有值C

int n = 10; 
char *cs = (char*) calloc(n + 1, sizeof(char)); 
for (int i = 0; i < n; i++) { 
    cs[i] = '*'; 
} 
cout << cs << endl; 

Google搜索周圍有很多,但是沒有任何地方找到同樣的問題..

謝謝!

+3

我不重現,如果我完成代碼的明顯(至少對我來說)的方式。請給出完整的代碼。 – AProgrammer

+0

@ H2CO3由於'calloc',終止零點在那裏。 – dasblinkenlight

+0

'calloc()'應該做到這一點。 @ H2CO3 – alk

回答

1

我已經寫了相同的代碼在工作室和我的工作很好。作爲輸出提供*

int main() 
{ 
    int n=10; 
    char *cs = (char*) calloc(n+1, sizeof(char)); 
    for (int i=0; i<n; i++) { 
     cs[i] = '*'; 
    } 
    cout << cs << endl; 
    return 0; 
} 
+0

是的,現在沒關係。 Eclipse以某種方式奇怪地爲我工作。謝謝! – user1815036