#include #include #include int strlen_my1(char s[]) { char* p = s; while (*p++); return p - s - 1; } int strlen_my2(char* s) { char* p = s; while (*p != '\0') { p++; } return p - s; } int strcmp_my(const char str1[], const char str2[]) { int i = 0; while (str1[i] != '\0' && str2[i] != '\0' && str1[i] == str2[i]) i++; return str1[i] - str2[i]; } void strcpy_my(char* dest, char* src) { while (*dest++ = *src++); } void strcat_my(char* dest, char* src) { while (*dest) dest++; while (*src) { *dest = *src; dest++; src++; } *dest = '\0'; } void strchr_my(const char* str, int c, char** result) { while (*str != '\0') { if (*str == c) { *result = (char*)str; return; } str++; } } void test_strchr_my() { const char* str1 = "Hello, World!"; const char* str2 = "This is a test string."; // Пример 1: Поиск символа 'o' в строке "Hello, World!" char* result1 = NULL; strchr_my(str1, 'o', &result1); if (result1 != NULL) { printf("%ld\n", result1 - str1); } else { printf("NULL\n"); } // Пример 2: Поиск символа 'z' в строке "This is a test string." char* result2 = NULL; strchr_my(str2, 'z', &result2); if (result2 != NULL) { printf("%ld\n", result2 - str2); } else { printf("NULL\n"); } }