我嘗試使用這四個符號來代表串的陣列,爲了測試他們充分理解他們:如何在C中的這四種情況下分別在字符串數組中打印出字符串?
char juices_A[][12]
char *juices_B[]
char (*juices_C)[][12]
char **juices_D
所以我寫這篇文章的代碼:
#include <stdio.h>
int main() {
int i_A = 0;
char juices_A[][12] = { "dragonfruit", "waterberry", "sharonfruit", };
for (; i_A < 3; i_A++)
printf("%s;", juices_A[i_A]);
puts("");
int i_B=0;
char *juices_B[] = { "dragonfruit", "waterberry", "sharonfruit", };
for (; i_B < 3; i_B++)
printf("%s;", juices_B[i_B]);
puts("");
int i_C=0;
char (*juices_C)[][12] = { "dragonfruit", "waterberry", "sharonfruit", };
for (; i_C < 3; i_C++)
printf("%s;", (*juices_C)[i_C]);
puts("");
int i_D=0;
char **juices_D = { "dragonfruit", "waterberry", "sharonfruit", };
for (; i_D < 3; i_D++)
printf("%s;", juices_D[i_D]);
puts("");
return 0;
}
當我嘗試運行代碼,它顯示:
dragonfruit;waterberry;sharonfruit;
dragonfruit;waterberry;sharonfruit;
dragonfruit;waterberry;haronfruit;
顯然第三和第四種情況有一些問題,我想爲什麼。此外,我可以使用類似*juice++
或*juice--
?
提示:檢查數據類型。 – 2015-04-06 11:34:32