c语言,将大写字母转换成小写字母
比如我输入了一个“a”,但是却需要两次回车才输出“A”,为什么需要两次回车,有没有什么简单的办法吃掉一个回车呢?代码如下:#include<stdio.h>intmain...
比如我输入了一个“a”,但是却需要两次回车才输出“A”,为什么需要两次回车,有没有什么简单的办法吃掉一个回车呢?
代码如下:
#include<stdio.h>
int main()
{
char c1,c2;
printf("请输入小写字母:");
scanf("%c",&c1);
c2=c1-32;
printf("该小写字母对应的大写字母为:%c",c2);
return 0;
}
题目反了,是小写转大写。。。。。 展开
代码如下:
#include<stdio.h>
int main()
{
char c1,c2;
printf("请输入小写字母:");
scanf("%c",&c1);
c2=c1-32;
printf("该小写字母对应的大写字母为:%c",c2);
return 0;
}
题目反了,是小写转大写。。。。。 展开
6个回答
展开全部
可以啊,虽然回车也是字符。但你输入a回车的话,你这里只保存第一个字符,不影响c1的赋值啊。
如果你一定要把回车接收掉,在scanf后面加一个getchar();
如果你一定要把回车接收掉,在scanf后面加一个getchar();
追问
加了也还是需要两次回车哎
展开全部
scanf 是以回车为输入完毕,你的两次回车可能和终端有关。可以试试用getch()方法替换scanf。getch是输入一个键就结束了。应该比较试合你调整。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fflush(stdin)可以清除缓冲区内容,常用于接在scanf后清除回车之类的内容。但是那仅仅只是用在多次用scanf的情况下,你这程序就只有一个,不存在这个问题。怀疑你是没有重新编译,运行的是以前的结果,如果你是用devcpp的,要按f11或者f9才行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<conio.h>
int main()
{
char c1,c2;
printf("请输入小写字母:");
c1 = getche();
c2=c1-32;
printf("该小写字母对应的大写字母为:%c",c2);
return 0;
}
#include<conio.h>
int main()
{
char c1,c2;
printf("请输入小写字母:");
c1 = getche();
c2=c1-32;
printf("该小写字母对应的大写字母为:%c",c2);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的代码,我运行起来只要一次回车
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询