1、二维字符数组每一行逆序输出。
代码展示
#include <myhead.h>
int main(int argc, const char *argv[])
{
char a[3][4]={
"abcd",
"efgh",
"ijkl"
};
char (*p)[4] = a;
for(int i=0;i<3;i++){
for(int j=3;j>=0;j--){
printf("%c ",*(*(p+i)+j));
}
putchar(10);
}
return 0;
}
运行结果
2、一维数组“qwertyuio” 查找出 yuio存在的位置是多少?输出其位置(模式匹配)。
代码展示
#include <myhead.h>
int main(int argc, const char *argv[])
{
char a[20] = "qwertyuio";
char b[10] = "yuio";
printf("请输入第一个字符串:\n");
scanf("%s",a);
printf("请输入匹配串:\n");
scanf("%s",b);
int i=0,j=0,flag=-1;
int len = strlen(b)-1;
for(i=0;a[i]!='\0';i++){
if(j==len && a[i] == b[j]){
flag = i-j+1;
}
if(a[i] == b[j]){
j++;
}else if(j!=0){
j=0;
continue;
}
}
if(flag != -1){
printf("在第%d位置匹配成功!\n",flag);
}else {
printf("匹配失败!\n");
}
return 0;
}
运行结果