在两个字符串(相同位置)中查找相同的字符并返回金额

时间:2016-10-18 14:47:11

标签: c

我的程序的目标是检查同一位置上两个字符串之间是否存在相似性。

如果用户提供输入香蕉和安娜,它应返回2,因为ba na na和 na 在同一位置获得相同的字符。

字符 n 位于同一位置且字符 a

我该如何做到这一点?

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

int amountsame(char *p, char *q){
    char string1[100];
    strcpy(string1,p);

    char string2[100];
    strcpy(string2,q); 

    int same;

    printf("Amount same: %d", same); 
}


int main() {

    char stringOne[100];
    char stringTwo[100];

    printf("Give two strings: ");
    scanf("%s %s", stringOne, stringTwo);

    //printf("%s %s", stringOne, stringTwo);

    amountsame(stringOne, stringTwo);    

    return 0;
}

1 个答案:

答案 0 :(得分:1)

运行循环并检查两个字符串是否在每个位置都有相同的char。运行循环的次数与下部字符串的长度一样多。

int amountsame(char *p, char *q){
    char string1[100];
    strcpy(string1,p);

    char string2[100];
    strcpy(string2,q);

    int same;

    l1 = strlen(p)
    l2 = strlen(q)

    run = l1<l2?l1:l2;

    for (int i =0 ;i<run ;i++)
        if (p[i]==q[i])
            same++;

    printf("Amount same: %d", same);

}