#include <stdio.h>
#define MAX 1000
void any(char s1[], char s2[], char s3[]);
int main()
{
char string1[MAX], string2[MAX], string3[MAX];
printf("Jepni stringen 1\n");
scanf("%s", &string1); //saving string 1
printf("Jepni stringen 2\n");
scanf("%s", &string2); //saving string 2
any(string1, string2, string3); /*comparing characters from string 2 to string 1 and saving the places where they are equal on third string */
printf("%d", string3[0]); //printing the first character of the third string
return 0;
}
void any(char s1[], char s2[], char s3[])
{
int i, j, k;
k = 0;
for (j = 0; j != '\0'; j++) {
for (i = 0; i != '\0'; i++) {
if (s1[i] == s2[j]) {
s3[k] = i;
j++;
k++;
}
}
}
}
文字列 2 の文字が文字列 1 と等しい場合、関数 any を使用するプログラムよりも 2 つの文字列をスキャンする (文字列 1 と 2 に保存する) ac プログラムを作成しようとしています。それらが見つかった最初の位置。何も見つからない場合は-1が表示されます。プログラムは等しい最初の文字を要求します。そのため、常に文字列3の最初の文字を印刷しています。 -1. たとえば、文字列 1のお父さん と文字列 2 に文字列dを配置すると、文字列 1 と文字列 2にお父さんを配置する と、プログラムは0の位置を表示 する必要があります。