遍历字符串数组
 #include <stdio.h>

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 字符。

使用函数遍历字符串数组
#include <stdio.h>

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的字符串数组。
使用函数遍历字符串每一个字符
#include <stdio.h>

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

运行结果:
C语言 遍历字符串数组_#include