我尝试使用这四个符号来代表串的阵列,为了测试他们充分理解他们:如何在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