读书人

请教scanf(quot;\nquot;)是什么作用

发布时间: 2012-07-30 16:19:05 作者: rapoo

请问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;
}

读书人网 >C语言

热点推荐