99问答网
所有问题
求助,关于C语言中gets函数,和scanf函数,有示例~~~~~
不明白为什么会这样,求解答,求帮助~~~
举报该问题
推荐答案 2013-05-03
gets函数接收了你第一次输完名字后按下的回车键,你可以在gets(student[i].name)前面在加一个getcgar(),或者直接在for语句体的第一行写fflush(stdin)清除输入缓冲区也行
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/Qc8LRLcQQ.html
其他回答
第1个回答 2013-05-03
scanf剩了个换行符没有读走,
被下一个gets读到了。
可以这样改:在scanf后加个gets读掉剩下的换行符就正常了。
也可以先用gets读输入电话号到字符串里,然后用sscanf从字符串里的读,就没有这样问题了。
第2个回答 2013-05-03
scanf函数不会舍弃最后的回车符(即回车符会残留在缓冲区中)。当第二次执行gets函数时,gets读到换行符就结束读取,执行下一个语句。于是出现上面的情况。
参考:
http://wenku.baidu.com/view/6387198402d276a200292ebc.html
第3个回答 2013-05-03
gets()是用来输入字符串的scanf()则可以输入字符串也可以整形变量,格式就是跟上面的那些一样
第4个回答 2013-05-03
gets()接受了来自上面缓冲区的字符
第5个回答 2013-05-03
把gets(.......)换成scanf("%s",student[i].name)试试,
仅供参考
1
2
下一页
相似回答
scanf,get
char
,gets
分别输入字符串有什么区别?详细点哦,最好有例子!
答:
其实用
scanf
("%s",);和
gets
();本质上没有什么区别,都是将字符数据输入到制定的内存单元中。假设定义有字符数组(
C语言
把字符串按字符数组处理)str[30],那么我们向里面输入字符就可以为:scanf("%s",str);gets(str);他们都可以这样输出:printf("%s",str);或者puts(str);注意:(1)使用scanf...
c语言
初学者 输入
函数
答:
C语言中两种方法都可以,但有区别
scanf
("%s",s)是读取不到空格的。而
gets
(s)可以读取。两种方法都是一个一个字符读取的。不同的是scanf是遇到空格或者回车键就会结束,但gets是只有输入回车键才会终止读取字符串!下面是例子:#include<stdio.h>intmain(){ charx[10]; scanf("%s",x); ...
...把多个以空格隔开
的
字符串
,scanf函数
能做到吗?
gets函数
答:
1.gets()【1】
函数
:gets(字符指针)【2】头文件:stdio.h(
c
中),c++不需包含此头文件 【3】原型:char *gets( char *buffer );【4】功能:从stdin流
中读取字符串,
直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符...
有人能告诉我一下
C语言中gets函数和scanf函数
的区别吗
答:
gets
( a );那么会将读到的字符串保存到a字符数组中,使用的时候有数组越界的危险,要使接收输入的字符数组足够大。int
scanf
( Format [, Pointer, ... ])根据给定的格式从标准输入读取数据。例 scanf( "%64s", a ); 从标准输入最多读取64个字符的字符串放到a数组中。比较安全。也...
C语言中gets和scanf
的区别?
答:
char s[1024];// 假设输入123 abc 123
gets
(s); // 可以读取一行
scanf
("%s",s); // 只能读取123,空格后的abc 123都不会被读进来
c语言scanf函数和gets
()问题,如图
答:
首先,说说
scanf函数和
gets()的区别。1、scanf函数遇到空格时则输入结束。也就是说你输入的How are you?,其中第一个单词给了b[20],剩下的全部给了c[20]。 2、
gets函数的
作用是从终端输入一个字符串到字符数组。
C语言gets函数的
用法,能用代码举个例子么
答:
1、
gets
() 函数是从键盘输入字符串,该函数只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也可以是一个字符数组名。打开编辑器,新建一个
c语言
文件,引入标准库并新建主函数:2、gets()
函数的
功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间...
C语言中关于gets与scanf
的问题(有例)
答:
用 while(
get
char()!='\n');就是让getchar吞掉scanf缓存中的字符,直到输入一个回车符为止。你要知道
scanf的
运行机制
,scanf
扫描的时候,先把字符放在缓冲区,等待用户按回车后将缓存的内容传送到程序,如果你是 %d 而你却输入了一个字母, 这个时候 scanf不会跳过字符,会反复把你输入的字符传给%d...
c语言中,
怎么忽略输入字符串中的空格符。
答:
scanf函数
是当输入的数据遇到空格就停止。比如输入数据kkkkkk ssssss sssaa11。用scanf("%s",str);得到的str为"kkkkkk",而空格后面的东西不会赋值给str。而使用gets(str);得到的str为kkkkkk ssssss sssaa11。
gets函数
是将一整行包括空格都赋值给str。对于你给的例子。main
里面的
代码为:main(){ c...
大家正在搜
c语言gets和scanf
gets函数和scanf区别
c语言scanf和printf
c语言scanf与gets
c中scanf和gets的区别
C语言scanf后面接gets
scanf和getchar
fgets和scanf的区别
在c语言中scanf什么意思