|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
char s=0;
int c=0;
printf("输入1退出程序\n");
while(c!=49)
{
printf("请输入一个字母:");
scanf("%c",&s);
c=(int)s;
if(c>=122||c<=65)
{
printf("错误输入\n");
}
else
{
if(c>='a'&&c<='z')
{
c=c-32;
printf("经过转化为:%c\n",c);
}
else
{
c=c+32;
printf("经过转化为:%c\n",c);
}
}
}
return 0;
}
每次转化完成都出现莫名的后缀
如图
经过调试发现会莫名奇妙的 scanf 一个 \n
不知道从那里读进来的,求大神解答。
去掉没用的,加上必要的,代码修改如下:
- #include <stdio.h>
- int main()
- {
- int c=0;
- printf("输入1退出程序\n");
- while(c!=49)
- {
-
- printf("请输入一个字母:");
- scanf("%c",&c);
- while(getchar()!='\n') //#清空键盘缓冲区数据
- continue;
-
- if(c>=122||c<=65)
- {
- printf("错误输入\n");
- }
- else
- {
- if(c>='a'&&c<='z')
- {
- c=c-32;
- printf("经过转化为:%c\n",c);
-
- }
- else
- {
- c=c+32;
- printf("经过转化为:%c\n",c);
- }
-
- }
-
- }
- return 0;
- }
复制代码
|
|