广西网站建设公司网站建设类

上海速莱乐流体机械设备有限公司 2026/09/09 18:12:32

本文将多次使用C语言中的scanf与getchar函数,带你充分理解输入缓冲区。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{

/*
int ch=getchar();
//从输入缓冲区获取一个字符,返回值类型是int
//错误输入时返回EOF(end of file)
putchar(ch);
//打印一个字符

int ch=0;
while ((ch = getchar()) != EOF)
{
putchar(ch);
}
*/
int num=0;
char m ='';
printf("1.实现只打印数字字符 ");
printf("2.输入缓冲区示例 ");
scanf("%d",&num);
switch (num)
{
case 1:
getchar();//清理输入缓冲区
printf("功能1 ");

while ((m = getchar()) != ' ')
{
if (m < '0' || m>'9')
{
continue;
}
putchar(m);
}
break;
case 2:
getchar();
printf("功能2 ");

char password[20] = { 0 };
printf("password:");
scanf("%s", password);
//数组名本身就是一个地址;在输入缓冲区不读空格,
//getchar();//读取了输入缓冲区中的
int ch = 0;
while ((ch = getchar()) != ' ')
{
;
}//彻底清理输入缓冲区;只有空格前的内容被password保存
printf("please confirm Y/N:");
int ret = getchar();
if ('Y' == ret || 'y' == ret)
{
printf("yes");
}
else
{
printf("no");
}
//没写48行代码时为什么功能不实现?
//在scanf执行完后输入缓冲区余下 ,getchar不等待直接拿走并赋值给ret
//进if语句判断后直接输出no
break;
default:printf("无效输入");

}
return 0;

}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

温州网站建设辽宁网站建设

Fisher插件管理器的终极指南:让Fish Shell插件管理变得简单高效【免费下载链接】fisherA plugin manager for Fish项目地址: https://gi

2026/06/30 10:43:51

免费企业网站建设凯里网站建设

还在为金融预测模型的高昂算力成本而犹豫吗?今天我要分享一个革命性的解决方案——仅需2GB显存,就能在消费级GPU上部署专业的金融时序预测模型。无论你是个人投资者还是量化团队

2026/06/30 13:46:37

龙岩网站建设上海门户网站建设

随着macOS应用程序的日益丰富,菜单栏拥挤已经成为许多用户的工作效率障碍。密密麻麻的图标不仅影响视觉体验,更让重要功能难以快速定位。Ice作为一款专为macOS 14&#

2026/06/30 13:51:37

佛山网站建设互动网站建设

近日,饶毅在其个人公众号饶议科学发表《应该给我国的中青年科学家涨薪》,《从国外引进老年科学家:不能是养老享福》文章,呼吁给我国30到55岁的中青

2026/06/30 11:23:55

唐山网站建设广东网站建设

如果你是正在熬夜赶Deadline的毕业生,是看着导师修改意见感到绝望的研究生,是预算有限却要为查重和润色掏空钱包的穷学生——那么,这篇文章就是为你准备的。我

2026/06/30 10:50:23

建设银行网站四川网站建设

EmotiVoice:让机器说话也能“动情”你有没有想过,有一天AI合成的语音不仅能准确读出文字,还能带着笑意说出“我好开心”,或是在低语中透露

2026/06/30 13:19:05

唐山网站建设盐城网站建设

TypedArray 详解一、什么是 TypedArrayTypedArray是 JavaScript 中处理二进制数据的对象,它提供了类似数组的视图来访问原始二进制缓冲区中的数据。核心

2026/06/30 12:56:33