|  | 
 
 发表于 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
 | 
 |