2016-10-14 124 views
-1

這是C代碼片段:字符指針爲字符串

int main() 
{ 
    char *names=[ "tom", "jerry", "scooby" ]; 
    printf("%s", *names[0]);// prints t 
    printf("%s", *names[1]);// prints j 
    // how to print full word "tom", or full word "jerry" 
} 

如前所述,我希望我的輸出是: 湯姆 傑裏 史 所以使用指針我怎麼打印整個事情?

+1

更改'的char * names'到'字符*名稱[]'。在'printf'參數前移除'*'。看看這個:http://ideone.com/bokCN5 – haccks

+1

把'names'改成指針數組,否則它只能容納1個字符串。另外''應該是'''。 – mch

+1

@ashley看起來你應該重新閱讀C書中解釋字符串的章節。 – Biffen

回答

3

它編譯?因爲你的數組初始化不正確。 正確聲明數組,並打印出來,你可以這樣做:

#include <stdio.h> 

int main(void) 
{ 
    char *names[]= { "tom", "jerry", "scooby" }; 
    printf("%s %s %s\n", names[0], names[1], names[2]); 
    return 0; 
} 
+0

對不起,我忘了添加[]。 – ashley

+0

你能告訴我 – ashley

+0

的輸出你能告訴我輸出:printf(「%s \ n」,名稱[0])嗎? – ashley