Как вызвать приведенную функцию - 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. Список действий:
- Объявляются две переменные i и j типа int и инициализируются нулем.
- Начинается цикл for для первой переменной i. Условие цикла - до тех пор, пока значение c1[i] не станет равным символу '\0' (т.е. до конца строки).
- Внутри цикла начинается второй цикл for для переменной j. Условие цикла - до тех пор, пока значение c2[j] не станет равным символу '\0' (т.е. до конца строки).
- Внутри второго цикла проверяется условие c1[i+j] != c2[j]. Если это условие истинно, то из второго цикла выходит с помощью оператора break.
- Если после выхода из второго цикла значение c2[j] остается равным символу '\0', то возвращается значение i.
- Если после прохода по всем символам обеих строк не было найдено различий, то возвращается -1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д