c语言字符串输出函数是,C语言字符串输入与输出函数

字符串输入

如果想把一个字符串读取到程序中,必须首先预留存储字符串的空间,然后使用输入函数来获取这个字符串,C库提供了三个读取字符串的函数:scanf()、gets()和fgets()。

创建存储空间

可以通过数组(char name[10])来分配存储空间,也可以通过C语言动态内存分配函数来动态分配存储空间。

char *name;

scanf("%s", name);如果通过上面的代码来创建存储空间,可能会通过编译器,但是在读入name的时候,name会覆盖程序中的数据和代码,并可能导致程序异常终止。这个是

因为scanf()把信息复制到由name指定的地址中,而在这种情况下,参数是个

未被初始化的指针,name可能指向任何地方。

gets()函数

gets()(get string)函数对于交互式程序非常方便,它从系统的标准输入设备(通常是键盘)获得一个字符串。因为字符串没有预定的长度,所以gets()函数通过判断遇到的第一个换行符(\n)结束输入,按回车键可以产生这个字符。它读取换行符之前(不包括换行符)的所有字符,并在这些字符后添加一个空字符(\0)。

[clef@rhel6164 c]$ cat test1.c

#include

#define MAX 81

int main(void)

{

char name[MAX];

char *ptr; //指向char的指针

printf("Please input your name.\n");

ptr = gets(name); //使用

你可能感兴趣的:(c语言字符串输出函数是)