Выдать 1, если строка t расположена в конце строки s, и нуль в противном случае - C (СИ)
Формулировка задачи:
Добрый вечер. Нужно, используя указатели написать функцию strend(s,t), которая выдает 1, если строка t расположена в конце строки s, и нуль в противном случае. Вот пример без указателей.подскажите где и как использовать указатели.
#include <stdio.h> #include <string.h> void strend(char s[], char t[]); int main(int argc, char **argv) { char s[100], t[100]; printf("Vvedite dve stroki\n"); gets(s); gets(t); strend(s,t); return 0; } void strend(char s[], char t[]) { int bool=0; int i,j; i=strlen(s)-1; j=strlen(t)-1; while(j>=0) { if (s[i]==t[j]) { bool=1; } else { bool=0; break; } i--; j--; } printf("%d\n",bool); }
Решение задачи: «Выдать 1, если строка t расположена в конце строки s, и нуль в противном случае»
textual
Листинг программы
#include <stdio.h> #include <string.h> void strend(char *, char *); int main(int argc, char **argv) { char s[100], t[100]; printf("Vvedite dve stroki\n"); gets(s); gets(t); char *ptr1 = s, *ptr2 = t; strend(ptr1, ptr2); return 0; } void strend(char *ptr1, char *ptr2) { int b = 0; int i, j; i = strlen(ptr1) - 1; j = strlen(ptr2) - 1; while (j >= 0) { if (*(ptr1 + i) == *(ptr2 + j)) { b = 1; } else { b = 0; break; } i--; j--; } printf("%d\n", b); }
Объяснение кода листинга программы
В этом коде определенная строка t проверяется на наличие в конце строки s с помощью функции strend(). Если строка t присутствует в конце строки s, то выводится 1, в противном случае выводится 0. Список действий:
- Ввод двух строк с помощью функции gets().
- Вызов функции strend() для проверки наличия строки t в конце строки s.
- Вывод результата функции strend() с помощью функции printf().
- Возврат 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д