首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言gets()函数和scanf()函数关于字符串的输入

前言 在C语言中,有很多关于输入字符串的函数。在学习和使用C语言时,我们也无法避免需要输入字符串,因此本文是关于C语言中输入字符串的两个函数 gets() 和 scanf() 的。...一、gets()函数 功能:从标准输入流 stdin 中读取一行,并将其存储在缓冲区中。该行由第一个换行符 ('\n') 之前的所有字符组成。 注意:预留存储字符串的空间要足够大....头文件: #include 代码示例: #include int main() { char arr[20] = { 0 }; gets(arr); printf...("%s\n", arr); return 0; } 输入与输出: hs sfgs jsf,fh hs sfgs jsf,fh 二、scanf()函数 功能:一般输入字符串、数组、整型...的函数(...,还是gets()函数,使用时都具有缺陷 这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位点赞评论收藏⭐️,谢谢!!!

36840
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    c语言gets()的详细用法

    今天说一说c语言gets()的详细用法,希望能够帮助大家进步!!! gets从标准输入设备读字符串函数。...这个事实导致gets函数只适用于玩具程序,为了避免这种情况,我们可以用fgets(stdin) (fgets实际上可以读取标准输入(即大多数情况下的键盘输入),具体参阅fgets词条)来替换gets()...gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但...gets()函数将接收输入的整个字符串直到遇到换行为止。...gets(s) 函数中的变量s为一字符串指针。如果为单个字符指针,编译连接不会有错误,但运行后内存溢出错误。

    1.5K20

    c-gets()方法

    ; printf("%s\n", buff); return 0; } A:这个不显眼的问题就是使用了gets()方法,其函数原型如下: char* gets(char *s); 此方法接受一个字符数组参数...gets()函数是不安全的,不推荐使用,一般情况下编译器也会给出警告提示:the `gets’ function is dangerous and should not be used。...gets()不检查预留存储区是否能够容纳实际输入的数据。多出来的字符简单的溢出到相邻的存储区,可能会导致错误。...所以,这里我们一般用fgets()方法更好,函数原型如下: char* fgets(char *s, int n, FILE *stream); 一般使用fgets()函数,都是读取文件当中的n-1个字符到...s中,其实,此函数还有一个很好的用处就是从标准输入流中读取字符串,而且不用担心输入的字符个数超出了字符数组的大小而导致溢出的问题!

    39930

    CC++ gets、fgets、gets_s函数使用引起的思考

    参考链接: C++ gets() 2019独角兽企业重金招聘Python工程师标准>>>          最近做游戏编辑器,自己试着用C/C++写了一个读取简单配置表的函数,在控制台下测试的时候,使用了...C的标准库gets函数,发现编译器报告gets函数unsafe,网上搜索了一下,发现gets函数不对接受字符串的buffer进行边界检测,会造成越界,从而产生bug;自己写的东西,也是自己用的东西,当然可以在定义配置表的时候得到控制...fgets函数获取的字符串与gets函数获取的不一样,fgets函数获取的字符串会在buffer里面保留换行符,而gets函数不会;好吧,问题找到了,解决也很简单,把最后一个换行符拿掉,换成'\0'就可以了...然后,又发现有个gets_s函数,可以像gets一样不会获取换行符,也不会有gets的越界问题,然后在cppreference.com查看了这几个函数的描述,却发现gets_s函数是一个标准库扩展函数,...一个可选项;所以就不知道这个gets_s函数在各个编译器下的支持情况如何!

    88500

    C语言』字符串的输入gets()和输出puts()

    链接-『C语言』getchar() & putchar() 〖input & output〗_謓泽的博客-CSDN博客 putchar()和getchar()函数都只能对①个字符进行操作,如果张三要进行一个字符串的操作就会显得比较麻烦...于是C语言还提供了两个对字符串进行操作的函数。 puts()字符串输出函数gets()字符串输入函数。...指向的C语言字符串写入标准输出(stdout),并自动添加一个换行符('\n') 函数从指定的地址 (str) 开始复制,直到它到达结束的空字符('\0'),这个终止空字符不会复制到流中。...③.gets()字符串输入函数 字符串输入可以使用gets()函数,作用是将读取的字符串保存至形式参数当中去的。...→指向一个内存块(char数组)的指针,其中读取的字符串被复制为一个C语言的字符串。

    2.3K30

    C语言——函数

    导读 : 这篇文章主要讲解一下C语言函数的一些基本知识。 前言:函数的概念 C语言中的函数又常常被称为子程序,是用来完成某项特定的工作的一段代码。...从函数的定义角度:我们可以把函数分为库函数和自定义函数 一,库函数: 库函数是由C语言编译系统提供的,已经有一定功能的,我们只需在程序前包含有该函数原型的头文件就可以直接使用这些函数。...("yeah"); // printf就是C语言提供的有打印功能的库函数,不需要我们自己定义 } 寻找C中的库函数及其有关的头文件的网址(C/C++官方的链接): http://zh.cppreference.com...2,实参列表中的参数(即实参)可以是变量,常量和表达式 3,实参之间用逗号隔开 4,在C语言中,出了main函数,其余的函数调用前要有函数声明(原型) 函数声明 ret_type name(形式参数...C语言中的函数之间都是平行的,不分上下级。

    9110

    C语言函数

    一、函数的概念 数学中我们见过函数的概念,例如y=kx+b,k和b都是常数,给任意一个x就可以得到y 而C语言也引入了函数(function)这个概念,C语言中的函数就是一个完成某项特定任务的一小段代码...因为C语言的程序是由无数个小的函数组合而成的,所以我们也把函数叫做子程序。...而在C语言中存在这样两种类型的函数: 库函数:现成的,可以直接使用的函数 自定义函数:根据实际需要自己设计的函数 二、库函数 2.1 标准库和头文件 1、C语言只是规定了使用的语法规则 2、但C语言不提供库函数的...3、不过C语言的国际标准ANSI C规定了一些库函数的各种信息 比如说scanf:名字,参数,返回类型,函数的功能………… 4、而C语言的编译器厂商根据这些规定来实现这些函数 比如微软——MSVC——...比如memcpy函数C语言标准中规定的是拷贝空间不重叠的内存,而memmove函数C语言中规定的是拷贝空间重叠的内存。

    12810

    C语言strstr函数_strstr函数c语言实现

    C语言strstr函数 查找字符串的函数,语法规则char *strstr( const char *string, const char *strCharSet )用于查找字符串strCharSet...; } else { printf("%s\n", ret1); } return 0; } 创建一个my_strstr函数模拟实现查找字符串功能 定义两个字符arr3和arr4,用一个...; } else { printf("%s\n", ret2); } return 0; } 接下来写my_strstr函数,断言str1&&str2不为空,并且创建指针cp、s1和s2,...cp指针指向str1,s1指向cp,根据strstr函数都功能,首先s1指向‘a’,s2指向‘b’ 如果s1与s2不相等,cp++,也就是cp指向‘b’,s1指向cp。...这时再次进行循环对比s1和s2是否相同 ,但是当s2指向‘c’时,s1指向‘b’,此时s1与s2不相等,退出循环,cp++,重新进行循环。

    5.7K10

    C语言函数递归_c语言递归举例

    今天说一说C语言函数递归_c语言递归举例,希望能够帮助大家进步!!! 文章目录 函数递归 什么是递归?...函数自己调用自己就是递归 你也可以理解成是一种嵌套结构,但递归分为俩部分,第一是“递”,进入嵌套结构。...递归做为一种算法在程序设计语言中广泛应用。...使用 factorial 函数求10000的阶乘(不考虑结果的正确性),程序会崩溃。 为什么呢? 我们发现 fib 函数在调用的过程中很多计算其实在一直重复。...当一个问题相当复杂,难以用迭代实现时,此时递归实现的简洁性便可以补偿它所带来的运行时开销 结束语 本人是学c小白,这些是近期学习整理总结,有什么不对欢迎大家指正,我会继续努力,谢谢~!

    13.7K32

    C语言return函数

    下面分别说一下 CC++ 标准中对 main 函数的定义。 1. C   在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M....Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。...关于 void main 在 CC++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。...main 函数的返回值应该定义为 int 类型,CC++ 标准中都是这样规定的。...一般情况下,C++ 做出来的函数都要求返回一个值,当函数执行正常,且达到了一般情况下的目的,那么就返回0表示正确的调用了该函数,这个0就是返回给主调函数以通知没有出错的;如果函数调用中出错,或者没有按照一般情况执行

    3.2K10
    领券