Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-如何比较2个字符串上的索引?_C_String_Algorithm - Fatal编程技术网

C-如何比较2个字符串上的索引?

C-如何比较2个字符串上的索引?,c,string,algorithm,C,String,Algorithm,我有两根绳子 string1[20]=“ab-cd-efgf”; string2[20]=“mn go jpfgt” 需要查找字符串1中出现在字符串2中的第一个字母 然后打印每个字符串中的位置(索引)和字母 只需要找到字母,不需要数字或空格 例如:字母f,在字符串1的位置8,在字符串2的位置9我们初学者应该互相帮助。:) 这是我的三分钱 对于初学者来说,C中的索引从零开始 所以这样说是正确的 字母f,在字符串1中的位置7,在字符串2中的位置8 这是一个演示程序 #include <stdi

我有两根绳子

string1[20]=“ab-cd-efgf”;
string2[20]=“mn go jpfgt”

需要查找字符串1中出现在字符串2中的第一个字母 然后打印每个字符串中的位置(索引)和字母 只需要找到字母,不需要数字或空格


例如:字母f,在字符串1的位置8,在字符串2的位置9

我们初学者应该互相帮助。:) 这是我的三分钱

对于初学者来说,C中的索引从零开始

所以这样说是正确的

字母f,在字符串1中的位置7,在字符串2中的位置8

这是一个演示程序

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int find_letter( const char *s1, const char *s2, size_t *i1, size_t *i2 )
{
    int success = *s1 && *s2;

    if ( success )
    {
        const char *p1 = s1;
        const char *p2;

        do
        {
            success = isalpha( ( unsigned char )*p1 ) && 
                      ( p2 = strchr( s2, *p1 ) ) != NULL;  
        } while ( !success && *++p1 );

        if ( success )
        {
            *i1 = p1 - s1;
            *i2 = p2 - s2;
        }
    }

    return success;
}

int main(void) 
{
    char string1[] = "ab cd efgf";
    char string2[] = "mn go jpfgt";
    size_t i1;
    size_t i2;

    if ( find_letter( string1, string2, &i1, &i2 ) )
    {
        printf( "%c at position %zu in the first string "
                "and at position %zu in the second string\n",
                string1[i1], i1, i2 );
    }

    return 0;
}

是否尝试独立解决此问题?在find()中,如果s1或s2为NULL,会发生什么情况?除此之外,祝贺您的努力。@linuxfan未定义的行为。与标准C字符串函数一样,传递有效指针是函数客户端的任务。
f at position 7 in the first string and at position 8 in the second string