chenyonken 2015-12-21 15:35 采纳率: 0%
浏览 1716
已采纳

把else if改为if之后为什么数字和空格就统计不了了

#include
int letter, digit, space, others;
int main()
{
void count(char str[]);
char text[80];
printf("input string:\n");
gets_s(text);
puts(text);
letter = 0; digit = 0; space = 0; others = 0;
count(text);
printf("\nletter:%d\ndigit:%d\nspace:%d\nother:%d\n",letter,digit,space,others);
}
void count(char str[])
{
int i;
for (i = 0; str[i] != '\0'; i++)
if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&&str[i] <= 'Z'))
letter++;
else if (str[i] >= '0'&&str[i] <= '9')
digit++;
else if (str[i] == ' ')
space++;
else
others++;
}

  • 写回答

4条回答 默认 最新

  • threenewbee 2015-12-21 15:43
    关注

    for (i = 0; str[i] != '\0'; i++)
    {
    if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&&str[i] <= 'Z'))
    letter++;
    else if (str[i] >= '0'&&str[i] <= '9')
    digit++;
    else if (str[i] == ' ')
    space++;
    else
    others++;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?