如何修改C语言代码统计感叹号,排除空格、逗号和句号?
解决方案:修改判断条件以仅统计感叹号
你的代码当前逻辑是统计除逗号、空格、句号之外的所有字符,要实现“只统计感叹号字符”的需求,只需把判断逻辑从「排除指定字符」改成「匹配感叹号」即可:
修改后的完整代码:
#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] == '!') { count++; } } printf("%d\n", count); return 0; }
关键修改点:
- 替换判断条件:把原代码中排除逗号、空格、句号的逻辑,改为直接判断当前字符是否为
'!',这样只会统计感叹号,自动排除了其他所有字符(包括你提到的空格、逗号、句号)。 - 修正输出格式:原代码中
printf的换行符写法不完整,补充为\n确保输出后换行。
内容的提问来源于stack exchange,提问作者Caroline Scott
相关产品推荐
相关产品推荐

