C语言(输入输出函数getchar,putchar、gets、puts,scanf,printf的功能以及用法)

常用的输入输出函数

  • getchar
  • gets
  • scanf
  • putchar
  • puts
  • printf

    getchar

    int getchar( void );

    返回值为int,所以需要用一个int变量来接收,不管输入几个字符,每次都只接收第一个字符,常与while和putchar配合使用。

    从下面这张图可以看出,输入一个空格也会打印

    当然,获取一个字符用得不多,每次都需要获取一串,所以我们可以配合while来使用。

    用while来循环获取,不满足某一条件就退出。下面是三个例子:

    • 一直获取,一直输出,直到用户手动结束

    • 当输入的包含 . 就结束

    • 输入换行结束

      gets

      char *gets( char *buffer );

      从标准输入流中读取一行,并存储到缓冲区中。

      当我们需要获取一个字符串时(特别是字符串中有空格的),就可以使用gets函数。

      下面定义了一个大小为5的字符数组,我们输入了5个字符加回车,出现了这个情况。

      对于上面的错误,我们说了gets函数是从标准输入流中读取一行,并存储到缓冲区中,而这一行是由除了第一个换行符(也就是回车)以外的所有字符组成,然后在返回这行之前将换行换成空字符(‘\0’)。

      scanf

      int scanf( const char *format [,argument]… );

      可以看出函数的返回值是int,而参数可以是多个。

      从下面这段代码和运行结果可以看出:

      • 我们输入一个参数后,不管是输入空格还是换行,都不会将空格和换行符视为参数的值。
      • 输入字符串时,只接收第一个空格以前的字符。
      • 函数的返回值是成功接收的参数个数。

        putchar

        int putchar(int c);

        参数和返回值都是int型,返回参数的ASCII码值

        所以,putchar(48)和printf(“%c”,48)的效果一样,都是输出ASCII码值为48的字符(输出0)。

        puts

        int puts( const char *string );

        函数的作用是:将字符串输出,用换行符(‘\n’)替换字符串的结束空字符(‘\0’)。

        从下面这段代码和运行结果可以看出:

        • 字符串当中有空格也能将空格后的字符输出。
        • 字符串中有\0,那么它之后的字符就不输出。
        • puts函数输出字符串之后,会在字符串结尾自动换行。
        • 返回值是一个非负值。

          printf

          int printf( const char *format [, argument]… );

          函数返回值是int,参数可以有多个。

          函数的返回值是打印的字符数,类似 \t 和 \n这种都算一个字符。

          • 输出的字符串中如果有 \0,那就只输出 \0之前的内容。
          • printf函数不会自动换行,需要手动添加换行符 \n。

            以上就是C语言常见的输入输出函数。

            如有错误,还望指出。