62 lines
1.3 KiB
C
62 lines
1.3 KiB
C
#include <stdio.h>
|
|
|
|
int strlen_1st(char c[]) {
|
|
int result = 0;
|
|
do { result += 1; } while (c[result] != '\0');
|
|
return result;
|
|
}
|
|
|
|
int strlen_2nd(char c[]) {
|
|
char* p = c;
|
|
while (*p++); return p - c - 1;
|
|
}
|
|
|
|
int strcmp_1st(char s1[], char s2[]) {
|
|
int len1 = 0, len2 = 0, i = 0;
|
|
while (len1 == 0 || len2 == 0) {
|
|
if (len1 == 0 && s1[i] == '\0') { len1 = i; }
|
|
else if (len2 == 0 && s2[i] == '\0') { len2 = i; }
|
|
i++;
|
|
}
|
|
return len1 - len2;
|
|
}
|
|
|
|
void strcpy(char s1[], char d1[]) {
|
|
for (int i = 0; i < 9999; i++) {
|
|
if (s1[i] != '\0') {
|
|
d1[i] = s1[i];
|
|
}
|
|
else {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void strcat_1st(char* s1, char* s2) {
|
|
while (*s2) s2++;
|
|
while (*s2++ == *s1++);
|
|
}
|
|
|
|
int strchr(char s1[], char sym) {
|
|
int i = 0;
|
|
while (s1[i] != sym) {
|
|
i++;
|
|
if (i >= strlen_1st(s1)) { printf("there's no such symbol"); break; }
|
|
}
|
|
return i;
|
|
}
|
|
|
|
void main() {
|
|
char str[11] = "string";
|
|
char str2[12] = "string2";
|
|
char str3[13] = "stringthree";
|
|
char strx[11] = "string4";
|
|
char etp[14] = "";
|
|
char* Word;
|
|
printf("%d\n", strlen_1st(str));
|
|
printf("%d\n", strlen_2nd(str2));
|
|
printf("%d %d\n", strcmp_1st(str, str2), strcmp_1st(str, str3));
|
|
strcpy(str, etp); printf("%s\n", etp);
|
|
strcat(str3, etp); printf("%s\n", str3);
|
|
printf("n at index %d - in %s\nf", strchr(strx, 'n'), strx);
|
|
} |