我用C编写了一个短代码,该代码计算小写字母(仅包括字母),当我输入数字或其他内容时它将停止工作。这是代码:

char letter;
int num=0;
do
    if(islower(letter = getchar()))
       num++;
while(isalpha(letter));
printf("%d", num);
return 0;


我的问题是它不能正常工作(仅打印“ 1”作为结果)。
当下一个字符不是字母时,必须停止它。不确定该部分是否正确。

知道我错了什么吗?谢谢。

最佳答案

怎么了

char letter;
int num=0;
while (isalpha(letter = getchar())) {
    if (islower(letter)) num++;
}
printf("%d", num);
return 0;



  当下一个字符不是字母时,必须停止它。


可以缓冲键盘输入-在按下Enter之前不进行处理


  结果仅打印“ 1”


您能写一些在控制台输入导致“ 1”输出的示例吗?

关于c - 计算小写字母,直到输入为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43169858/

10-15 01:28