我的程序的目标是检查同一位置上两个字符串之间是否存在相似性。
如果用户提供输入香蕉和安娜,它应返回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;
}
答案 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);
}