#include <stdio.h>
#include <string.h>
int main() {
char delimeters[1024] = " .,!?;\n", str[1024], word[1024], c[2];
int count = 0;
printf("Enter symbols combination: ");
scanf("%s", str);
while ((c[0] = getchar()) != EOF) {
char *entry = strchr(delimeters, c[0]);
if (entry) {
char *check = strstr(word, str);
if (check) {
count++;
}
word[0] = 0;
} else {
strcat(word, c);
}
}
printf("Result count: %d\n", count);
return 0;
}
#include <stdio.h>
#include <string.h>
int main() {
char delimeters[1024] = " .,!?;\n", str[1024], word[1024] = "\0", c;
int count = 0;
printf("Enter symbols combination: ");
scanf("%s", str);
while ((c = getchar()) != EOF) {
char *entry = strchr(delimeters, c);
if (entry) {
char *check = strstr(word, str);
if (check) {
count++;
}
word[0] = 0;
} else {
strcat(word, &c);
}
}
printf("Result count: %d\n", count);
return 0;
}
И получается "c" нужно инициализировать явно, то есть:
char c[32]="_\0"
, где _ —любой символ, а 32 байта нужно для предотвращения проблем с EOF
?