c语言while循环问题
问题描述:
我输入一个字符 会循环两次
第一次正确 第二次默认输入\n
请问是什么问题
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
void judge(char data)
{
if (data >= 65 && data <= 90)
{
printf("%c\n", data += 32);
}
else if (data >= 97 && data <= 122)
{
printf("%c\n", data -= 32);
}
else if (data >= 48 && data <= 57)
{
printf("%c\n", data);
}
else if (data == 32)
{
printf("This is SpaceKey\n");
}
else
{
printf("输入大小写字母与数字\n");
}
}
void main()
{
char data;
while (1)
{
data = getchar();
judge(data);
}
system("pause");
}
答
供参考:
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
void judge(char data)
{
if (data >= 65 && data <= 90)
{
printf("%c\n", data += 32);
}
else if (data >= 97 && data <= 122)
{
printf("%c\n", data -= 32);
}
else if (data >= 48 && data <= 57)
{
printf("%c\n", data);
}
else if (data == 32)
{
printf("This is SpaceKey\n");
}
else
{
printf("输入大小写字母与数字\n");
}
}
void main()
{
char data;
while (1)
{
data = getchar();
rewind(stdin); //清空缓冲区
judge(data);
}
system("pause");
}