00问答网
所有问题
输入一个字符串,为什么不加scanf(%*c);//清楚回车符呢?
scanf("%d",&new->no);
printf("输入新同学的姓名");
scanf("%s",new->name);
举报该问题
其他回答
第1个回答 2011-12-28
%s,这个就是输入字符串的标志,%C是字符的标志
相似回答
c语言
清楚
缓存的两种方法fflush(stdin)和
)scanf(
"%[^\n]
%*c
")。scan...
答:
由于所有从键盘的输入都是以回车结束的,而回车会产生一个'\n'
字符,
所以将'\n'连同它之前的字符全部读取并丢弃之后,也就相当于清除了输入缓冲区。
C
语言循环输出菜单的程序
,为什么scanf
后的%前面要加个空格?
答:
空格的作用是忽略你每次输入的换行符。比如,当你
输入1
<换行>时,用%c首先会读取1,执行case '1':,然后又会读取'\n',执行default:。要丢弃1行中除第
1个字符
外的其它
字符,
这样做更好:
scanf(
"%c",&x);fflush(stdin);这样,就允许你输入1行字符,只读取第1个...
为什么scanf
那一行语句加了\n得
输入
两次
字符
才能输出,去掉\n就正常了...
答:
解释原因:scanf在每次回车之后从缓冲区中读取用户输入的
字符,
且当缓冲区非空时,
输入回车
之后才会自动结束。当按照
scanf(
"%c\n", &m)这种形式书写时,相当于你输入结束之后,缓冲区的数据被立即读取且被清空,缓冲区为空,scanf不退出,当你再
输入一个字符
后,缓冲区不空,再次回车后scanf退出。而...
C
语言高手进 我是新手 程序的第九行getchar
();
//跳过
回车
是
什么
意思...
答:
…同时
scanf
也有类似的弊病,比如说在请求数字的时候输入字符串之后程序所有的请求数字的scanf将会得到一连串奇怪的返回值……等等这些在处理复杂的输入时将会使人很头疼……常用的办法是使用conio.h中的getch()编写自己想要的输入,这个函数只会等待
一个字符,
而不会等待回车……...
大家正在搜
c语言输入字符串scanf
如何用scanf输入字符串
scanf函数输入字符串
scanf输入字符串遇到空格
c语言输入一个字符串
怎么输入字符串
c语言字符串输入
c语言scanf输入数组
字符串输入函数