Написать функцию, которая ищет символ одной строки, отсутствующий в другой - C (СИ)
Формулировка задачи:
Написать функцию, которая ищет символ одной строки, отсутствующий в другой (char *strspn(char *s1, char *s2).
Надо использовать подпрограммы и указатели,Помогите решить,Сам пробывал прога не запускается.
Программа нужна на языке С.
#include<stdio.h> #include<conio.h> #define max 10 char *strspn(char *s1, char *s2) { char str3[max]; int i=0; while(*s2!='\0') {if(*s1!=*s2) (*s2)++ ; else {str3[i]=(*s2);i++;}} return *str3; } main() { char str1[80]; char str2[80]; char str3[80]; puts("Vvedite stroki:\n"); gets(str1); gets(str2); puts("Rezultat:\n"); printf(" %s",*strspn(str1,str2)); getch(); }
Решение задачи: «Написать функцию, которая ищет символ одной строки, отсутствующий в другой»
textual
Листинг программы
#include <stdio.h> #include <string.h> /* ищет символ одной строки, отсутствующий в другой */ /* findExclusive возвращает указатель на первый символ строки a, которого нет в строке b. Если таких нет, вернёт NULL */ char *findExclusive(const char *a, const char *b){ if ( !a || !*a || !b || !*b ) return NULL; for ( ; *a; a++ ) if ( !strchr(b, (unsigned int)*a) ) return (char*)a; return NULL; } int main(void){ char str1[BUFSIZ], str2[BUFSIZ], *p; printf("First string: "); if ( !fgets(str1, BUFSIZ, stdin) ) return 1; printf("Second string: "); if ( !fgets(str2, BUFSIZ, stdin) ) return 1; printf("Exclusive symbols in first string:\n"); for ( p = findExclusive(str1, str2); p != NULL; p = findExclusive(p + 1, str2) ) printf("%c ", *p); printf("\n"); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Функция findExclusive принимает две константные строки и возвращает указатель на первый символ строки a, которого нет в строке b. Если таких нет, возвращает NULL
- В функции main считываем две строки с помощью функции fgets
- Выводим первую строку
- Инициализируем цикл, который будет искать отсутствующие символы в первой строке второй строки
- Если найден символ, выводим его и продолжаем поиск следующего символа
- Если поиск завершен, выводим результат
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д