1.二维字符数组倒序输出
#include <myhead.h>
int main(int argc, const char *argv[])
{
char arr[3][3]={'a','b','c','e','f','g','h','i','j'};
char (*p)[3]=arr;
int i,j;
for(i=0;i<3;i++)
{
for(j=2;j>=0;j--)
{
printf("%c\t",*(*(p+i)+j));
}
printf("\n");
}
return 0;
}
运行结果:
c b a
g f e
j i h
2,采用模板匹配的方法,在一维字符串数组“qwertyuio”中,查找出“yuio”的位置,并输出
#include <myhead.h>
int func(char *arr,char *brr)
{
int len1=strlen(arr);
int len2=strlen(brr);
int i,j;
for(i=0;i<len1-len2;i++)
{
for(j=0;j<len2;j++)
{
if(arr[i+j]!=brr[j])
{
break;
}
}
if(j==len2)
{
return i;
}
}
return -1;
}
int main(int argc, const char *argv[])
{
char arr[20]="qwertyuiop";
char brr[20]="yuio";
int pos=func(arr,brr);
if(pos==-1)
{
printf("查找失败\n");
}
else
{
printf("%s位于字符%s的第%d位置\n",brr,arr,pos+1);
}
return 0;
}
运行结果:yuio位于字符qwertyuiop的第6位置