int str_cmp(int n,char*a,char *b) {int i; for(i=0;i<n;i++) if(a[i]!=b[i]) return 0; return 1; } void f(int n,char *a,char *b) {int i,j; for(i=n;i<strlen(a);i++) {char m[100]; for(j=0;j<=i;j++) m[j]=a[j]; m[j]=0; strcat(m,b); if(str_cmp(strlen(m),a,m)) {puts(m); printf("%d\n",i+strlen(b)+1); f(m-a+1,a,b); } } } main() {char * str1="nayitianzhi daoanzd";//定义两个字符串,并有两个字符型指针指向 char * str2="anz"; f(0,str1,str2); system("pause");} 追问: 无法运行啊! 能写全了吗 把文件头都加上 C里运行 回答: #include<stdio.h> #include<stdlib.h> #include<string.h> int str_cmp(int n,char*a,char *b) {int i; for(i=0;i<n;i++) if(a[i]!=b[i]) return 0; return 1; } void f(int n,char *a,char *b) {int i,j; for(i=n;i<strlen(a);i++) {char m[100]; for(j=0;j<=i;j++) m[j]=a[j]; m[j]=0; strcat(m,b); if(str_cmp(strlen(m),a,m)) {puts(m); printf("%d\n",i+strlen(b)+1); f(m-a+1,a,b); } } } int main() {char * str1="nayitianzhi daoanzd";//定义两个字符串,并有两个字符型指针指向 char * str2="anz"; f(0,str1,str2); system("pause"); return 0; } 追问: 谢谢哥们 麻烦您能用指针的方式解决这题吗 不通过访问下标的形式 能加上注释吗 新手学习 麻烦您了 分不是问题
温馨提示:答案为网友推荐,仅供参考