关于scanf的讨论

到百度贴吧首页
新闻   网页   贴吧   知道   MP3   图片   视频   百科
    吧内搜索 | 帮助
  • 共有19篇贴子

关于scanf的讨论

1楼

scanf是这样定义的:
等待用户的输入,并把用户的输入回显到屏幕上,直到用户输入一个结束符号.一个结束符号可以是回车,也可以是EOF.

在WINDOWS里键盘输入EOF一般是CTRL+Z,在LINUX/UNIX里一般是CTRL+D.

如果你是用回车来结束这个输入,那么在屏幕上就会打印一个换行符.
而用CTRL+Z来结束输入,那么屏幕上就不会打印这个结束的东西.

2楼

转帖:


这个问题,谭浩强的C语言设计第二版没有讲清楚,或者没有讲。
查了查其它的资料,总算搞清楚了。

getch()、getche()和getchar()函数 
(1) getch()和getche()函数 
这两个函数都是从键盘上读入一个字符。其调用格式为: 
getch(); 
getche(); 
两者的区别是: getch()函数不将读入的字符回显在显示屏幕上, 而getche() 
函数却将读入的字符回显到显示屏幕上。 
例1: 
#include 
main() 

char c, ch; 
c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/ 
putchar©; /*输出该字符*/ 
ch=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/ 
putchar(ch); 

利用回显和不回显的特点, 这两个函数经常用于交互输入的过程中完成暂停 
等功能。 
例2: 
#include 
main() 

char c, s[20]; 
printf("Name:"); 
gets(s); 
printf("Press any key to continue..."); 
getch(); /*等待输入任一键*/ 


(2) getchar()函数 
getchar()函数也是从键盘上读入一个字符, 并带回显。它与前面两个函数 
的区别在于: getchar()函数等待输入直到按回车才结束, 回车前的所有输入字 
符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。 
getchar()函数的调用格式为: 
getchar(); 
例3: 
#include 
main() 

char c; 
c=getchar(); /*从键盘读入字符直到回车结束*/ 
putchar©; /*显示输入的第一个字符*/ 
getch(); /*等待按任一健*/ 
}
例4
#include 
main() 

char c; 
while ((c=getchar())!='\n') /*每个getchar()依次读入一个字符*/
printf("%c",c); /*按照原样输出*/
getch(); /*等待按任一健*/ 
}

221.12.10.*

3楼

顶一下
202.113.25.*

4楼


5楼

一起努力
60.160.244.*

6楼

不错!!

7楼

恩,挺不错的!!
211.138.147.*

8楼

谢了楼主
202.118.69.*

9楼

怎么才能保证用 scanf输入后按回车后不换行啊
202.118.69.*

10楼

怎么才能保证用 scanf输入后按回车后不换行啊 谢谢大家啊 
61.167.60.*

11楼

a
221.217.149.*

12楼

又见掘坟...
211.142.211.*

13楼

说得太浅了。
要说scanf和getchar和getch,
一定要说缓冲区。

14楼

楼上看来有些研究。
可惜这里人气不旺,要是人多了,研究起来还是很有意思的。

221.217.149.*

15楼

其实scanf没什么好研究的,把文件操作的内容搞懂了,scanf的问题自然就解决了
59.108.195.*

16楼


221.0.90.*

17楼

呵呵 支持

18楼

支持!!!!!!!!!!!!!!!、

19楼

连续使用scanf时~
要注意很关键的一点~
fflush(stdin);
清除输入缓存!!

发表回复

内 容:
用户名:
  
©2010 Baidu 贴吧协议  意见反馈