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;
}
题目反了,是小写转大写。。。。。
展开
 我来答
自我编程
2018-10-09 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部
可以啊,虽然回车也是字符。但你输入a回车的话,你这里只保存第一个字符,不影响c1的赋值啊。
如果你一定要把回车接收掉,在scanf后面加一个getchar();
追问
加了也还是需要两次回车哎
追答

不会啊,你这代码肯定只要一次回车啊。

实在不行,你把scanf,改成

c1=getch();

printf("%c\n",c1);

效果一样,回车都不用按了,输入a,直接出结果。

#include<stdio.h>
#include <conio.h>
int main()
{
    char c1,c2;
    printf("请输入小写字母:");
    c1=getch();
    printf("%c\n",c1);
    c2=c1-32;
    printf("该小写字母对应的大写字母为:%c",c2);
    return 0;
}
showeriszero
2018-10-09
知道答主
回答量:2
采纳率:0%
帮助的人:2116
展开全部
scanf 是以回车为输入完毕,你的两次回车可能和终端有关。可以试试用getch()方法替换scanf。getch是输入一个键就结束了。应该比较试合你调整。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2018-10-09 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
fflush(stdin)可以清除缓冲区内容,常用于接在scanf后清除回车之类的内容。但是那仅仅只是用在多次用scanf的情况下,你这程序就只有一个,不存在这个问题。怀疑你是没有重新编译,运行的是以前的结果,如果你是用devcpp的,要按f11或者f9才行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssceshiyonghu
2018-10-09 · 超过13用户采纳过TA的回答
知道答主
回答量:38
采纳率:66%
帮助的人:20.5万
展开全部
#include<stdio.h>
#include<conio.h>
int main()
{
char c1,c2;
printf("请输入小写字母:");
c1 = getche();
c2=c1-32;
printf("该小写字母对应的大写字母为:%c",c2);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjf121348
2018-10-09 · TA获得超过520个赞
知道小有建树答主
回答量:1126
采纳率:59%
帮助的人:214万
展开全部
你的代码,我运行起来只要一次回车
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式