2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置作为结果返回。如果 s1 中不包含 s2 中的字符,则返回-1

发布时间 2023-07-22 23:05:19作者: 语巫

稍作修改,不返回任意字符...位置,直接输出所有符合条件...位置

Archlinux

GCC 13.1.1  20230429

2023-07-22 22:59:55 星期六

 


点击查看代码
#include<stdio.h>


void any(char s1[], char s2[])
{
    int i, j, sign, cnt;
    
    i = j = sign = cnt = 0;

    for(i=0; s2[i]!='\0'; i++)
    {
        sign = 0;
        for(j=0; (sign==0)&&(s1[j]!='\0'); j++)
        {
            if( s1[j] == s2[i] ){
                sign = 1;
                cnt++;
                printf("%c在%d位置首次出现。\n", s2[i], j+1);
                //return j;
            }
        }
    }
    if( cnt == 0 ){
        puts("s1不包含s2中的字符。");
    }
}


int main()
{

 


运行截图:

image

输出正确。

 


小白刚学习C语言,代码质量不高,欢迎评论。