非常风气网www.verywind.cn
首页
scanf和gets的区别
使用
gets
()函数是不是必须按回车键才等于输入结束?
答:
gets
()的用法:char a[30];gets(a);printf("%s",a);你看他是输入的一个字符串,遇到空格等都算字符了,只有 回车了,他才知道你输入结束了!getch()是接收一个按键就表示结束所以你按什么他就输出了!区分慢慢积累吧,用多了自然就知道了!
为什么这个要不早
get
char()来吸收回车键都能正确的执行,而很多情况下...
答:
要弄清楚这个问题,首先要理解输入缓冲区的的原理。所谓的输入缓冲区是一块内存,用来存放你输入的字符串。
scanf和gets
等输入函数都是从缓冲区内读取数据的,读取的同时会把读取到的从缓冲区内删除;如果缓冲区的数据读取完了就会停下,等待用户输入,当用户输入的时候,程序是停止的,这时用户可以随意输入...
scanf
函数的问题?
答:
字符‘1’对应的数字是49)第二个情况 输出 49 和 1
scanf
用%c来格式化的 所以是把 输入的‘1’字符 赋给 int i ,字符赋给int 不会出错。字符‘1’对应的int数字 是49 所以 第一个printf是49 第二个 printf是把’1‘输出 就是1 第三个情况 输出 1 和 一个笑脸 但是有错误 scanf 用...
gets
不能用来读入整数吗?
答:
对的,
gets
读入的是字符串,如果输入整数结果也是字符串类型,如果你对整型变量gets,编译就会报错。
C语言malloc
和gets的
问题。求高手解答。 输入字符串,加上空格,用
scanf
...
答:
scanf
在缓冲区遗留了一个换行符 被
gets
接受 在scanf语句之后加一个 fflush(stdin);清除缓冲区就好了
C语言中
gets
()函数相关问题
答:
你把修改过的程序中的
scanf
("%d",&m); 修改为scanf("%d\n",&m);应该就可以了。因为如果之前没有\n的话,那么
gets
()的就是那一行,那么他就直接把之前printf的“m=”也输入进去了,会有错误的。完毕。
gets
在c语言中什么意思
答:
c语言里
gets
(a) 表示输入一个字符串到数组a,a表示读取一个字符串存入a中,字符串输入结束标志为换行符。gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
C语言输入和输出
答:
探索C语言的数据交互艺术:输入与输出 在C语言的世界里,数据的交流如同信息的桥梁,输入与输出是程序与用户对话的关键。让我们深入了解一下如何在C中实现高效的数据交换。输入篇 尽管getchar
和gets
曾是教学中的常客,但在实际开发中,它们的使用已逐渐被更为稳健的
scanf
所取代。scanf提供了格式化的输入...
gets
在循环内不能用么?
答:
你把前面的
scanf
("%d",&n);改成 scanf("%d\n",&n); 就不会了。这是因为,你在输入数字时,作为结束你会再输入一个回车,但是 scanf("%d",&n);不会把回车从缓冲里读走,这样,回车就会被你后面的
gets
()读走,而gets() 收到回车就会结束。你在scanf里加一个\n这样就会把回车读走了....
gets
函数理解不够深刻,这个程序为什么把输入的n算作gets(str)中??
答:
它不是把n算作
gets
(str)中,而是因为,cin和
scanf
等输入函数,会自动识别‘ ’和'\n'等符号,当出现这些符号时,就自动判定输入结束,所以这些字符仍然存在于缓存中。比如你的程序,如果你是输入了一个数字,按下回车,那么,当cin输入n了以后,在接下来的gets(str)会先把缓存中的'\n'读取了,...
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
你可能感兴趣的内容
本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
©
非常风气网