0
点赞
收藏
分享

微信扫一扫

C语言 遍历字符串数组

遍历字符串数组

#include <stdio.h>

int&nbsp;main(void){
int&nbsp;i;
char&nbsp;cs[][6]&nbsp;=&nbsp;{&quot;VV&quot;,&nbsp;&quot;cat&quot;,&nbsp;&quot;2020&quot;};

for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;3;&nbsp;i++){
printf(&quot;cs[%d]&nbsp;=&nbsp;\&quot;%s\&quot;\n&quot;,&nbsp;i,&nbsp;cs[i]);
}&nbsp;

return&nbsp;0;
}

注:
数组声明中初始值不足时,用 0 来初始化该元素。因此各个字符串后面的空白部分都初始化为 null 字符。

使用函数遍历字符串数组

#include <stdio.h>

void&nbsp;traversal(const&nbsp;char&nbsp;s[][6],&nbsp;int&nbsp;n){
int&nbsp;i;
for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i++){
printf(&quot;s[%d]&nbsp;=&nbsp;\&quot;%s\&quot;\n&quot;,&nbsp;i,&nbsp;s[i]);
}
}&nbsp;

int&nbsp;main(void){
char&nbsp;cs[][6]&nbsp;=&nbsp;{&quot;VV&quot;,&nbsp;&quot;cat&quot;,&nbsp;&quot;2020&quot;};

traversal(cs,&nbsp;3);

return&nbsp;0;
}

注:
在接收二维数组的形参的声明中,只有第一维的数组元素可以省略。

错误声明:

void traversal(const char s[][], int n)  // 这种声明是不正确的。

正确声明:

void traversal(const char s[][6], int n)  // 只能接收元素数为6的字符串数组。

使用函数遍历字符串每一个字符

#include <stdio.h>

void&nbsp;traversal(const&nbsp;char&nbsp;s[][6],&nbsp;int&nbsp;n){
int&nbsp;i;

for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i++){
int&nbsp;j&nbsp;=0;
printf(&quot;s[%d]&nbsp;=&nbsp;\&quot;&quot;,&nbsp;i);

while(s[i][j]){
putchar(s[i][j++]);
}
puts(&quot;\&quot;&quot;);
}
}

int&nbsp;main(void){
char&nbsp;cs[][6]&nbsp;=&nbsp;{&quot;VV&quot;,&nbsp;&quot;cat&quot;,&nbsp;&quot;2020&quot;};

traversal(cs,&nbsp;3);

return&nbsp;0;
}

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


举报

相关推荐

0 条评论