遍历字符串数组
int main(void){
int i;
char cs[][6] = {"VV", "cat", "2020"};
for (i = 0; i < 3; i++){
printf("cs[%d] = \"%s\"\n", i, cs[i]);
}
return 0;
}
注:
数组声明中初始值不足时,用 0 来初始化该元素。因此各个字符串后面的空白部分都初始化为 null 字符。
使用函数遍历字符串数组
void traversal(const char s[][6], int n){
int i;
for (i = 0; i < n; i++){
printf("s[%d] = \"%s\"\n", i, s[i]);
}
}
int main(void){
char cs[][6] = {"VV", "cat", "2020"};
traversal(cs, 3);
return 0;
}
注:
在接收二维数组的形参的声明中,只有第一维的数组元素可以省略。
错误声明:
void traversal(const char s[][], int n) // 这种声明是不正确的。
正确声明:
void traversal(const char s[][6], int n) // 只能接收元素数为6的字符串数组。
使用函数遍历字符串每一个字符
void traversal(const char s[][6], int n){
int i;
for(i = 0; i < n; i++){
int j =0;
printf("s[%d] = \"", i);
while(s[i][j]){
putchar(s[i][j++]);
}
puts("\"");
}
}
int main(void){
char cs[][6] = {"VV", "cat", "2020"};
traversal(cs, 3);
return
运行结果: