scanf语法错误,scanf编译报错
Yyds干货库存
(1)发现问题
使用scanf功能时,请连续使用scanf两次。如果你不在缓冲区中处理它,你的第二次扫描将被跳过。如下所示:
#包含stdio.h
int main()
{
char a1,a2;
char b1
Printf(输入小写字母\ n );
scanf(%c ,a1);
a2=a1-32;
Printf(其大写字母为%c\n ,a2);
Printf(输入一个大写字母\ n );
scanf(%c ,B1);
b1=b1 32
Printf(其小写字母为%c\n ,B1);
}
你会发现这第二个scanf突然被跳过;
(2)解决问题
1.使用getchar()求解;
然后我在笔记里找到了相关的题目。他的第一个scanf在缓冲区中有一个回车,这将影响第二个scanf,因此在第一个scanf之后添加一个getchar()可以防止第二个scanf被跳过。
//这个知识点是在哔哩哔哩的C语言程序设计学习中,出现了这个基于up的C语言入门,第7分支,第18分钟的loop 2。
2.当然也可以用while((ch=getcahr())!=\n){,}而不是getchar()让它看起来更漂亮。
3.在相关的scanf之后,是您想要使用的getcahr()。上面的问题也会发生,所以你也可以通过上面的方法来解决。
//希望我犯过的错误和需要解决的问题,能通过我的文章得到帮助。谢谢大家!
转载请联系作者取得转载授权,否则将追究法律责任。评论0发表评论。
wx61e3d66adced0
2022-03-29 13:24
经常向大佬们学习,收藏好文章。他们彼此有关系吗?
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。