c语言scanf和gets的区别
答:其实用scanf("%s",);和gets();本质上没有什么区别,都是将字符数据输入到制定的内存单元中。假设定义有字符数组(C语言把字符串按字符数组处理)str[30],那么我们向里面输入字符就可以为:scanf("%s",str);gets(str);他们都可以这样输出:printf("%s",str);或者puts(str);注意:(1)使用scanf...
答:gets只能输入字符串 scanf可以输入别的类型的值。scanf输入字符串时,不能输入有空格的字符串。gets输入字符串时,是以回车结束,可以接收空格。
答:scanf():通过格式控制符%s输入字符串。除了字符串,scanf()还能输入其他类型的数据。scanf()读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。gets():直接输入字符串,并且只能输入字符串。gets()认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入...
答:gets 字符串中可以有空白符号,遇到回车终止输入。scanf("%s")遇到第一个空白符号或者回车停止输入
答:gets函数用来在缓冲区读取字符串,而putchar和getchar分别是对一个字符进行的输出和输入。printf函数的参数的长度没有限制,可以以多种格式,不限制长度地输出,scanf函数也同样可以以多种格式从缓冲区读取用户的输入,可以是多个、也可以是单个,可以是字符,也可以是字符串。总之get函数和putchar getchar...
答:gets只能输入一个字符串,也是就字符数组,而scanf可以接受一个字符串和单个字符,比gets更强大
答:差不多吧,说简单点就是如果用scanf,当你输入中有空白字符(空格,回车,制表符)时,scanf只能读入到这些符号之前的东西,后面的就等于舍弃了;而用gets,就可以把你输入之中的空白字符也读入。
答:这是回车符滞留缓冲区的问题。第一次输入**然后回车,然后输入**再回车,实际上scanf读取的是**(回车符)*这4个数据。gets函数读取方式是读取一个字符串并在后面加上'\0',这段程序用gets替换应该不会成功运行才对,因为你gets()的参数不合法,应该是一个地址。如果要用gets,应该取消第二个for...
答:char * gets ( char * str );Get string from stdin Reads characters from stdin and stores them as a string into str until a newline character ('\n') or the End-of-File is reached.The ending newline character ('\n') is not included in the string.所以gets()是碰到回车,...
答:,这个时候会输出“河南”。为解决格式输入函数的弊端,专门有用于字符串的输入输出函数,即gets(),,puts();gets(),已经介绍,不多赘述,他与格式输入函数的区别就是,他认为回车为输入结束,,上个例子中,他的输出就是“河南 小老丁”,谔谔 哥们 好好学c啊,很有用的,,,明白了吗??
网友评论:
和成19515954521:
c语言中,输入一个字符串使用scanf(”%s”)和gets()有什么区别 -
68764姚温
: 其实用scanf("%s",);和gets();本质上没有什么区别,都是将字符数据输入到制定的内存单元中. 假设定义有字符数组(C语言把字符串按字符数组处理)str[30],那么我们向里面输入字符就可以为: scanf("%s",str); gets(str); 他们都...
和成19515954521:
C语言中gets和scanf的区别? -
68764姚温
: gets会将输入回车前所有输入的内容取出来,存放到一个字符数组,包括空格/tab,无论这些内容被空格/tab分成了几段,gets都会将这行输入完完整整的放到数组中,通俗点说就是gets会取一行,读到换行为止. scanf是格式化输入,如果只使...
和成19515954521:
c语言中gets函数和是scanf函数有什么区别呢?? -
68764姚温
: 一、指代不同 1、scanf:是C语言中的一个输入函数. 2、gets:从标准输入设备读字符串函数. 二、读取方式不同 1、scanf:是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中. 2、gets:可以无限读取,不会判断...
和成19515954521:
C语言中gets和scanf的区别? -
68764姚温
: scanf()语句不允许在输入中存在空白字符(也就是在scanf()语句中不能打空格.)给你举个例子吧:当用scanf()接收字符串时,键入“Pan Wei Bo”后,只有“Pan”会被存储在内存中,而空格字...
和成19515954521:
C语言 gets和scanf函数的区别 -
68764姚温
: gets接收带空格的字符串,且只能接收字符串, scanf不能接收带空格的字符串
和成19515954521:
C语言gets()和scanf() -
68764姚温
: 是这样的 定义 char data[10] 直接用gets c是字符 gets(data); s是字符串 等同于 for(i=0;i<10;i++) 而字符数组可用来表示字符串 scanf("%c");区别 gets以回车为结束 scanf以空格分隔,回车为结束
和成19515954521:
C语言字符输入函数scanf和gets有何不同
68764姚温
: 可以用如下两种方式输入字符串,示例程序段如下: char string[15]; gets(string); /*遇到回车认为输入结束*/ scanf("%s",string); /*遇到空格认为输入结束*/ ... 所以在输入的字符串中包含空格时,应该使用gets输入.
和成19515954521:
有人能告诉我一下C语言中gets函数和scanf函数的区别吗 -
68764姚温
: 说的直接点,就是,scanf度字符串时,遇到空格或者回车就会输入结束,而gets,则是可以读空格,遇到回车时,输入才结束
和成19515954521:
C语言二级关于数组输入scanf和gets的问题 -
68764姚温
: gets()会将回车一起读进字符数组里,而scanf("%s")不会读回车 scanf("%s")会将空格和回车留在输入流里,下一次读取,读输入流里的下一个字符.你开一下debug调试看看,就知道了.
和成19515954521:
c语言 gets scanf -
68764姚温
: 是这样的:你在输入b的值“2”的时候,要结束b的输入,就会用到ENTER键,而这个键对应的值虽然不会被读取,但是它会进入缓存区,然后程序执行到GETS(c)时,缓存区的ENTER值就会被读取,并赋给C,然后你又结束输入,再输入D,于是你运行的结果应该是:a=1 b=2 c= d=3 是不是?