1.二维字符数组每一行逆序输出。
#include <stdio.h>
#include <string.h>
#include <myhead.h>
//二维字符数组每一行逆序输出。
int main(int argc,const char*argv[])
{
char str[3][3]={{'a','f','c'}
,{'r','s','g'}
,{'h','p','q'}};
char (*p)[3] = str;
int i,j,k;
char temp;
for(i=0;i<3;i++)
{
k = 2;
for(j=0;j<2;j++)
{
temp = *(*(p+i)+j);
*(*(p+i)+j) = *(*(p+i)+k);
*(*(p+i)+k) = temp;
k--;
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%c ",*(*(p+i)+j));
}
printf("\n");
}
return 0;
}
2.一维数组“qwertyuio” 查找出 yuio存在的位置是多少?输出其位置(模式匹配)。
#include <stdio.h>
#include <string.h>
#include <myhead.h>
//一维数组“qwertyuio” 查找出 yuio存在的位置是多少?输出其位置(模式匹配)。
int main(int argc,const char*argv[])
{
char str[]="qwdcygheaadrftyuio";
char arr[]="yuio";
char *p = str;
char *q = arr;
int i;
int len = strlen(p);
for(i=0;i<len;i++)
{
if(*(p+i)==*q)
{
if(*(p+i+1)==*(q+1))
{
if(*(p+i+2)==*(q+2))
{
if(*(p+i+3)==*(q+3))
{
printf("%d\n",i+1);
break;
}
}
}
}
}
return 0;
}