二维字符数组:和二维的整形数组类似,二维字符数组就是储存多个字符串的数组。行代表有几个字符串,列代表每个字符串的最大长度。定义格式如下:
char fs[row][colum];
初始化如下:
char fs[][10]={"apple","orange","banana"};
它的输入和输出都要使用for循环,输入输出如下:
for(int i = 0; i < 5; i++)
{
scanf("%s", arr[i]);
}
for(int i = 0; i < 5; i++)
{
printf("%s\n", arr[i]);
}
2.字符串练习:输入字符串,统计单词数,再把单词分别存进一个指针数组里,代码如下:
int dc(char *fs){
int s;
int n=strlen(fs);
int l=0;
for(s=0;s<n;s++){
if(fs[s]==' '){
l++;
}
}
printf("有%d个单词。\n",l+1);
char *pa;
int z=0;
char *pb[10];
pa=strtok(fs," ");
printf("%s",pa);
printf(" ");
while(pa!=NULL){
pb[z]=strtok(NULL," ");
z++;
}
for(s=0;s<z;s++){
if(pb[s]!=NULL){
printf("%s ",pb[s]);
}
}
return 0;
}
int main(){
char fs[50]={'\0'};
gets(fs);
dc(fs);
return 0;
}
结果如下:
编写函数,将字符数字,转换为整型数字,代码如下:
int zzs(char *fs){
int s;
int n=strlen(fs);
for(s=0;s<n;s++){
fs[s]=fs[s]-'0';
}
for(s=0;s<n;s++){
printf("%d ",fs[s]);
}
return 0;
}
int main(){
char fs[10]={'\0'};
gets(fs);
zzs(fs);
return 0;
}
结果如下:
总结:字符串这里还需要好好的练习,还有跟指针结合的话我还不是很明白,还需问下同学和老师。