admin管理员组

文章数量:1794759

BC28 大小写转换

BC28 大小写转换 废话不多说上题:

getchar和键盘之间会有个缓冲区,这个缓冲区的内容getchar就会当作字符读取 ,当我们输入A后回车才能让光标不再闪烁,多组输入过程中要注意“回车”也是字母,所以要“吸收”(getchar())掉该字母 我们改进下代码:

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	char ch = 0;
	while (ch=getchar())
	{
		putchar(ch+32);
		getchar();
	}
	return 0;
}

我们下面再放入个getchar让它把回车吸取掉。 但是当我们把这个代码放入牛客网的oj里面时候发现还是错误的。

我们发现这个程序是没有办法结束的。

我们发现getchar的返回值是这个字符,但是如果读取错误或者读取结束时候会返回EOF。我们再改进代码:

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	char ch = 0;
	while ((ch=getchar())!=EOF)
	{
		putchar(ch+32);
		printf("\n");
		getchar();//读取\n
	}
	return 0;
}

我们还可以优化:

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	char ch = 0;
	while ((ch=getchar())!=EOF)
	{
		printf("%c\n",ch+32);
		getchar();//读取\n;
	}
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-17,如有侵权请联系 cloudcommunity@tencent 删除优化charincludeint程序

本文标签: BC28 大小写转换