|
发表于 2020-4-15 16:36:13
|
显示全部楼层
- #include<stdio.h>
- void match(char *s[],char ch)
- {
- int i;
- for(i = 0; (ch != *(s[0]+i) && *(s[0]+i) != '\0'); i++)
- {
- ;
- }
- printf("%s",s[0]+i);
- }
- int main()
- {
- char str[100];
- char *s[1]={str};
- char ch;
- printf("请输入字符串:");
- scanf("%s",s[0]);
- getchar();//去掉回车
- printf("请输入字符:");
- scanf("%c",&ch);
-
- match(s,ch);
- }
- //我的设想是输入一段字符串,输入一个字符,之后传到march函数中从字符串的第一个ch开始输出,比如输入abc和b,输出bc。用这个指针数组来实现,是哪里有问题吗??
- //补充一下,因为指针数组可以不用预先定义字符串长度,所以想试一下怎么使用,但是好像这个代码有点问题。。。
- #if 0
- #include<stdio.h>
- #include<string.h>
- void match(char *s,char ch)
- {
- int i;
- for(i = 0; (ch != *(s+i) && *(s+i) != '\0'); i++)
- ;
- if (i < strlen(s)) printf("%s\n",s+i);
- else printf("没找到!\n");
- }
- int main()
- {
- char s[100];
- char ch;
- printf("请输入字符串:");
- scanf("%s",s);
- printf("输入的字符串是:%s\n",s);
- printf("请输入字符:");
- getchar();//去掉回车
- scanf("%c",&ch);
- printf("输入的字符是:%c\n",ch);
- match(s,ch);
- return 0;
- }
- //我的设想是输入一段字符串,输入一个字符,之后传到march函数中从字符串的第一个ch开始输出,比如输入abc和b,输出bc。用这个指针数组来实现,是哪里有问题吗??
- //补充一下,因为指针数组可以不用预先定义字符串长度,所以想试一下怎么使用,但是好像这个代码有点问题。。。
- #endif
复制代码 |
|