2020-04-01 |

字符串输入

程序通常是交互式的,要求用户输入。

要从用户检索一行文本或其他字符串,C提供scanf()、gets()和fgets()函数。

可以使用scanf()根据格式说明符读取输入。

例如:

char name[25];
int age;
printf("输入您的名字和年龄: \n");
scanf("%s %d", name, &age); 

当scanf()用于读取字符串时,不需要访问变量地址,因为数组名充当指针。

scanf()到达空格时停止读取输入。要读取带空格的字符串,请使用gets()函数。它读取输入,直到到达终止的换行符(按下回车键)。

例如:

char name[50];
printf("输入您的名字: ");
gets(name);

get()的另一个更安全的替代方法是fgets(),它可以读取指定数量的字符。这种方法有助于防止缓冲区溢出,当字符串数组对于键入的文本不够大时会发生这种溢出。

例如:

char name[50];
printf("输入您的名字: ");
fgets(name, 50, stdin);

fgets()参数是字符串名称、要读取的字符数以及指向要从中读取字符串的指针。stdin的意思是从标准输入(即键盘)中读取数据。

get和fgets之间的另一个区别是,换行符由fgets存储。

fgets()只从stdin读取n-1个字符,因为必须有空间容纳“\0”。

0

python教程
java教程
php教程
php+mysql教程
ThinkPHP教程
MySQL
C语言
css
javascript
Django教程

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论