首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教scanf("\n")是什么作用

2012-07-30 
请问scanf(\n)是什么作用?看到有些代码里有scanf(\n)不知道什么意思,好像是放在循环输入里的。请高手

请问scanf("\n")是什么作用?
看到有些代码里有scanf("\n");不知道什么意思,好像是放在循环输入里的。请高手解答下。谢谢了

[解决办法]
为了避免下一次的scanf直接读取\n而结束,保证每次都等待键盘输入……
不过这是我见过的最笨的办法了……
次笨的办法是使用getchar()
最好的办法是在scanf的格式说明中,前置一个空格,也就是scanf(" %c", &var);百分号之前有一个空格……
这样scanf会首先过滤掉所有的空格、制表符和换行符……
[解决办法]
#include<stdio.h>
int main()
{
int i;
char ch;
scanf("%d",&i);
/****************最好的方法*******************/
//scanf(" %c",&ch);
/****************次笨的方法*******************/
//scanf("\n");
/****************最笨的方法*****************/
// getchar();
/****************次次笨的方法*******************/
//while((getchar())!='\n')
//continue;

ch=getchar();
printf("%d\t%c\n",i,ch);
return 0;
}

热点排行