您的位置:网站首页 > 电器维修资料网 > 正文 >
嵌入式学习笔记--scanf使用常见问题及解决方法
来源: 日期:2013-12-12 11:14:52 人气:标签:
第一,连续输入两个或多个字符的时候,第二次输入直接跳过了如:
int main()
{
char a,b;
scanf(“%c”,&a);
scanf(“%c”,&b);
return 0;
}
输入 a回车 然后就退出了。
这个问题有很多说法有说是缓冲区没有清除,有说stdin这个流的问题,这里我们不去追究,这里介绍几个解决这种问题的方法:
int main()
{
char a,b;
scanf(“n%c”,&a);
scanf(“n%c”,&b);或 scanf(“ %c”,&b);%c前有空格
return 0;
}
这次再编译一下就没有问题了。
第二,使用scanf()函数输入一句话的时候,如:
int main()
{
char string[50] ;
scanf(“%s”,string);
printf(“%sn”,string);
return 0;
}
输入:hello world!
结果:hello
显然这个结果没有达到我们的要求。
解决方法:
int main()
{
char string[50] ;
scanf(“%[^n]”,string);
printf(“%sn”,string);
return 0;
}
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: RW7-10型户外跌落式交流高压熔断器安装使用
- 下一篇: 基于C语言的RS232串行接口通信实现