C语言puts()和gets()函数的用法(附带实例)
在 C 语言程序中,putchar() 和 getchar() 函数都只能对单个字符进行操作,如果使用它们操作字符串,会很麻烦。C语言提供了两个专门对字符串进行操作的函数,分别为 gets() 和 puts() 函数。
puts() 函数的语法格式如下:
例如,使用 puts() 函数输出一个字符串:
puts() 函数会在字符串中判断“\0”结束符,遇到结束符时,后面的字符不再输出,并且自动换行。例如:
编译器会在字符串常量末尾自动添加“\0”结束符,因此 puts() 函数会在输出字符串常量后自动进行换行操作。
【实例】使用 puts() 函数对字符串常量“I LOVE CHINA”和字符串变量进行操作,在这些操作中观察 puts() 函数的使用方式。
第二次使用 puts() 函数输出的字符串常量中,人为添加了两个“\0”,因此只能输出第一个结束符之前的字符,然后进行换行操作。
第三次使用 puts() 函数输出的是字符串指针变量,函数根据变量的值进行输出。因为在变量的值中没有结束符,所以会完整输出整个字符串,直至最后编译器为其添加结束字符,然后进行换行操作。
改变 Char 变量的值后,在使用 puts() 函数输出变量时,由于变量的值中包含一个结束符“\0”,因此将输出第一个结束符之前的所有字符,然后进行换行操作。
运行程序,显示效果为:
使用 gets() 函数前,要添加头文件
例如,定义字符数组变量 cString,然后使用 gets() 函数获取输入字符,代码如下:
【实例】模拟用户注册系统。首先提醒用户输入账号、密码、姓名和身份证号,注册完毕后,显示用户输入的注册信息。代码如下:
2) 调用 gets() 函数,函数参数为前面定义的 account、password、name、IDcard 这 4 个变量。调用 gets() 函数后,程序会等待用户输入字符,用户输入完一个字符串并按 Enter 键确定时,gets() 函数将获取字符串结束标志“\0”,并将对应的字符串保存到上述 4 个变量中。
3) 使用 puts() 函数将获取的字符串依次输出。
运行程序,显示效果为:
C语言puts()字符串输出函数
C语言中输出字符串使用的是 puts() 函数,它的作用是输出一个字符串到屏幕上。puts() 函数的语法格式如下:
int puts(char *str);使用 puts() 函数时,先要在程序中添加<stdio.h>头文件。其中,形式参数 str 是一个字符指针变量,用来接收要输出的字符串。
例如,使用 puts() 函数输出一个字符串:
puts("I LOVE CHINA!");上述语句首先会输出一个字符串,之后会自动进行换行操作。这与 printf() 函数有所不同,使用 printf() 函数进行换行时,要在其中添加转义字符“\n”。
puts() 函数会在字符串中判断“\0”结束符,遇到结束符时,后面的字符不再输出,并且自动换行。例如:
puts("I LOVE\0 CHINA!");在上面的语句中,加上“\0”字符后,puts() 函数输出的字符串就变成了“I LOVE”。
编译器会在字符串常量末尾自动添加“\0”结束符,因此 puts() 函数会在输出字符串常量后自动进行换行操作。
【实例】使用 puts() 函数对字符串常量“I LOVE CHINA”和字符串变量进行操作,在这些操作中观察 puts() 函数的使用方式。
#include<stdio.h> int main() { char* Char="I LOVE CHINA"; /*定义字符串指针变量并赋初值*/ puts("ILOVECHINA!"); /*输出字符串常量*/ puts("I\0LOVE\0CHINA!"); /*输出字符串常量,其中加入两个结束符 “\0” */ puts(Char); /*输出字符串变量的值*/ Char="ILOVE\0CHINA!"; /*改变字符串变量的值*/ puts(Char); /*输出改变后的字符串变量的值*/ return 0; /*程序结束*/ }第一次使用 puts() 函数输出的字符串常量中,由于在该字符串中没有结束符“\0”,所以会完整输出整个字符串,直到最后编译器为其添加结束符“\0”为止。
第二次使用 puts() 函数输出的字符串常量中,人为添加了两个“\0”,因此只能输出第一个结束符之前的字符,然后进行换行操作。
第三次使用 puts() 函数输出的是字符串指针变量,函数根据变量的值进行输出。因为在变量的值中没有结束符,所以会完整输出整个字符串,直至最后编译器为其添加结束字符,然后进行换行操作。
改变 Char 变量的值后,在使用 puts() 函数输出变量时,由于变量的值中包含一个结束符“\0”,因此将输出第一个结束符之前的所有字符,然后进行换行操作。
运行程序,显示效果为:
ILOVECHINA! I I LOVE CHINA ILOVE
C语言gets()字符串输入函数
C语言完成字符串输入使用的是 gets() 函数,语法格式如下:char *gets(char *str);其中,str 是一个字符指针变量,用来存储用户输入的字符串。
使用 gets() 函数前,要添加头文件
<stdio.h>
。它的作用是将读取的字符串(即用户输入的字符串)保存在 str 变量中,直到出现新的一行为止。其新行的换行符将会转换为空终止符“\0”。例如,定义字符数组变量 cString,然后使用 gets() 函数获取输入字符,代码如下:
gets(cString);上面的代码中,cString 变量获取了字符串,并将最后的换行符转换成了终止字符。
【实例】模拟用户注册系统。首先提醒用户输入账号、密码、姓名和身份证号,注册完毕后,显示用户输入的注册信息。代码如下:
#include <stdio.h> int main() { char account[20], password[20], name[20], IDcard[20]; /*定义 4 个字符数组变量*/ puts("请输入账号:"); /*提示信息*/ gets(account); /*获取账号字符串*/ puts("请输入密码:"); /*提示信息*/ gets(password); /*获取密码字符串*/ puts("请输入姓名:"); /*提示信息*/ gets(name); /*获取姓名字符串*/ puts("请输入身份证号:"); /*提示信息*/ gets(IDcard); /*获取身份证号字符串*/ puts("注册完成,信息如下:"); puts("您输入的账号为:"); /*提示信息*/ puts(account); /*输出账号字符串*/ puts("您输入的密码为:"); /*提示信息*/ puts(password); /*输出密码字符串*/ puts("您输入的姓名为:"); /*提示信息*/ puts(name); /*输出姓名字符串*/ puts("您输入的身份证号为:"); /*提示信息*/ puts(IDcard); /*输出身份证号字符串*/ return 0; /*程序结束*/ }1) 因为要接收用户输入的账号、密码、姓名、身份证号等信息,所以定义了 4 个可以接收字符串的变量。account、password、name、IDcard 为字符数组变量的标识符。
2) 调用 gets() 函数,函数参数为前面定义的 account、password、name、IDcard 这 4 个变量。调用 gets() 函数后,程序会等待用户输入字符,用户输入完一个字符串并按 Enter 键确定时,gets() 函数将获取字符串结束标志“\0”,并将对应的字符串保存到上述 4 个变量中。
3) 使用 puts() 函数将获取的字符串依次输出。
运行程序,显示效果为:
请输入账号: MR 请输入密码: 123456 请输入姓名: Cyuyan 请输入身份证号: 123456 注册完成,信息如下: 您输入的账号为: MR 您输入的密码为: 123456 您输入的姓名为: Cyuyan 您输入的身份证号为: 123456