gets+puts 函数的知识点总结(有不懂的地方,待改)

gets函数:

scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用 gets 函数。

gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所以它不能接收空格。

所以
gets(s);等价于scanf("%s", s);

且两者在接受字符串时:??????

  1. 不同点:
    scanf不能接受空格、制表符Tab、回车等;对末尾回车符的处理:把回车符保留在缓存中。
    而gets能够接受空格、制表符Tab和回车等;对末尾回车符的处理:接收回车,但把回车替换为\0.

  2. 相同点:
    字符串接受结束后自动加’\0’。

参考自:https://www.cnblogs.com/huashanqingzhu/p/5057975.html

puts函数:

puts函数其实就是一种输出函数(非pow等的运算函数)

  1. puts()函数只用来输出字符串,里面的参数可以直接是字符串或者是存放字符串的字符数组

  2. 不同于printf()函数,printf()函数的输出格式有很多,可以根据不同的格式加不同的转义字符(例:整型%d,字符型%c,等。。。)来输出不同的东西。

  3. puts(s)函数等价于语句 printf("%s\n",s);
    (因为使用 puts() 显示字符串时,系统会自动在其后添加一个换行符)

参考自:https://blog.csdn.net/wuff1988/article/details/9312559

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,使用puts,gets函数时,要注意不要有输入错误,这样可能会导致程序出现错误。其次,要确保所输入的数据类型是正确的,否则也可能出现错误。最后,应该注意对输入的数据进行有效性检查,以避免程序出错。 ### 回答2: 在使用puts和gets函数时,可能会遇到以下易错点: 1. 使用puts函数时易忽略换行符:在使用puts函数输出内容时,需要注意每个输出内容后会自动加上一个换行符,如果不希望输出换行符,可以使用print函数。 2. 使用gets函数时易忽略输入的换行符:在使用gets函数接收输入时,需要注意输入的内容会包含一个换行符,如果不希望包含换行符,可以使用chomp方法将其去除。 3. 输入缓冲区问题:在使用gets函数接收输入时,如果之前有其他的输入函数,可能会有输入缓冲区的问题。可以使用flush方法来清除输入缓冲区。 4. 输入类型转换问题:使用gets函数接收输入时,无论输入的是数字还是字符串,都会被当做字符串类型处理。如果需要将其转换成其他类型,需要使用to_i、to_f等方法进行类型转换。 5. 输入错误处理:在使用gets函数接收输入时,如果用户输入错误或者输入的内容无法满足要求,需要对输入进行错误处理,例如使用循环提示用户重新输入,或者使用正则表达式对输入进行验证。 总之,在使用puts和gets函数时,需要注意输出和输入的格式,对于输入内容的处理要小心,以及对输入错误进行适当处理,以确保程序的正常运行。 ### 回答3: 在使用puts和gets函数时,有几个易错点需要注意。 首先,在使用puts函数时,易错点之一是忘记在puts函数后添加括号。puts函数用于将指定的字符串输出到控制台,但是如果忘记添加括号,它就不会按预期输出。正确的用法是puts("Hello, World!")。 其次,在使用gets函数时,易错点之二是忘记给输入的值分配给变量。gets函数用于从控制台获取用户的输入,并将其作为一个字符串返回。然后再将这个字符串赋值给一个变量,以便进一步处理。如果忘记将输入的值分配给变量,程序将无法正确接收和使用用户的输入。 另外,还需要注意输入时可能导致的一些问题。由于gets函数会包含换行符(\n),在有些情况下会出现输入值与预期不符的情况。例如,如果预期输入的是一个数字,但用户在输入时多按了一个回车键,那么输入的实际值将包含一个换行符。解决这个问题的一种方法是使用chomp方法,它可以去除字符串末尾的换行符。例如,可以使用input = gets.chomp来获取用户输入,并删除换行符。 总而言之,在使用puts和gets函数时,需要确保正确添加括号,将gets函数的返回值分配给一个变量,并注意处理输入时可能出现的换行符问题。遵循这些注意点,可以帮助我们正确使用这两个函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值