Как вызвать приведенную функцию - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребят. если я объясню что делает то мне за кр 4 будет. если нет.то 2 я сделл вызов функции а толку ваще ноль.никак понять не могу
#include <stdio.h>
 
int F9(char c1[],char c2[]){ 
int i,j;
for (i=0; c1[i] !='\0'; i++){
for (j=0; c2[j] !='\0'; j++)
if (c1[i+j] != c2[j]) break;
if (c2[j] =='\0') return i;
}
return -1;
}
 
void main(){
char a[]={"1234567"}, b[]={"1239567"};
 
int x= F9(a,b);
printf("%d",x); 
 
}

Решение задачи: «Как вызвать приведенную функцию»

textual
Листинг программы
int i,j;
for (i=0; c1[i] !='\0'; i++){
for (j=0; c2[j] !='\0'; j++)
if (c1[i+j] != c2[j]) break;
if (c2[j] =='\0') return i;
}
return -1;
}

Объяснение кода листинга программы

В представленном коде реализуется функция, которая сравнивает два строковых массива и возвращает индекс первого символа, с которым они не совпадают (если такой символ есть). Если все символы совпадают, функция возвращает -1. Список действий:

  1. Объявляются две переменные i и j типа int и инициализируются нулем.
  2. Начинается цикл for для первой переменной i. Условие цикла - до тех пор, пока значение c1[i] не станет равным символу '\0' (т.е. до конца строки).
  3. Внутри цикла начинается второй цикл for для переменной j. Условие цикла - до тех пор, пока значение c2[j] не станет равным символу '\0' (т.е. до конца строки).
  4. Внутри второго цикла проверяется условие c1[i+j] != c2[j]. Если это условие истинно, то из второго цикла выходит с помощью оператора break.
  5. Если после выхода из второго цикла значение c2[j] остается равным символу '\0', то возвращается значение i.
  6. Если после прохода по всем символам обеих строк не было найдено различий, то возвращается -1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы