C 当无限循环打印错误时

C 当无限循环打印错误时,c,while-loop,C,While Loop,我做了一个计算字母的小程序 然而,意外的结果返回 我想“请输入一个字符”将打印每个循环一次 #include<stdio.h> #pragma warning (disable : 4996) int main() { char a; int b = 0, d = 0; while (1) { printf("Please enter a character <escape .>"); scanf("%c", &a); if

我做了一个计算字母的小程序

然而,意外的结果返回

我想“请输入一个字符”将打印每个循环一次

#include<stdio.h>
#pragma warning (disable : 4996)

 int main() {
char a;
int b = 0, d = 0;

 while (1) {

    printf("Please enter a character <escape .>");
    scanf("%c", &a);

    if (a == '.')
        break;

    if (a <= 'a' || a >='z') {
        d = d + 1;
        continue;
    }

}

 printf ("Number of lower case letters %d", d);

getchar(); getchar(); getchar();
return 0;}
#包括
#杂注警告(禁用:4996)
int main(){
字符a;
int b=0,d=0;
而(1){
printf(“请输入字符”);
scanf(“%c”和“&a”);
如果(a=='。)
打破
如果(a='z'){
d=d+1;
继续;
}
}
printf(“小写字母数%d”,d);
getchar();getchar();getchar();
返回0;}
请帮我更换

scanf("%c", &a);

空格被scanf占用了。在%c之前的scanf()中使用空格可以省略空格

注意:要检测小写字母,实际的if条件应为

if (a >= 'a' && a <='z')    

if(a>='a'&&a我听从了你的建议,效果很好。谢谢你的好意。P.P.S.要检测小写字母,有一个库函数:。我听从了你的建议。我得到了我想要的结果。谢谢你指出错误的部分。如果对你有效,请接受答案。单击答案左侧的勾号。条件应使用&&而不是| |,如:if(a>='a'&&a
if (a >= 'a' && a <='z')