这是我的代码。它适用于几乎所有的字符串。。。除了带感叹号的。我想把感叹号算作一个字符,而不是空格、逗号或句点。我该怎么做?
#include <stdio.h>
#include <string.h>
int main(void) {
char str[51];
fgets(str, 51, stdin);
int length = strlen(str), count = 0, i;
for (i = 0; i < length-1; i++) {
if (str[i] != ',' && str[i] != ' ' && str[i] != '.') {
count++;
}
}
printf("%dn", count);
return 0;
}
字符串的最后一个字符没有被计数。要遍历所有字符串,可以使用i<环路中的长度