文章目录
- 前言
- 一、题目描述
- 二、解题
- 程序运行代码
- 三、总结
前言
本系列为字符串处理函数编程题,点滴成长,一起逆袭。
一、题目描述
二、解题
程序运行代码
#include<stdio.h>
#include<string.h>
int main() {
char str[10];
printf("please input str: ");
gets(str);
//scanf("%s",str);
//printf("%s\n", str);
puts(str);
return 0;
}
三、总结
gets(字符串地址)与scanf(“%s”,字符串地址)的区别:
①gets(str)允许输入的字符串含有空格,scanf(“%s”,str)不允许含有空格
②都是末尾自动加‘\0’
③scanf以空格或回车结束,gets以回车结束
④输入串长度应小于字符数组长度
注意:
由于scanf()和gets()无法知道字符串s大小,必须遇到换行符或读到文件结尾为止才接收输入,因此容易导致字符数组越界(缓冲区溢出)的情况。
printf("%s,字符串地址)与puts(字符串地址)
printf依次输出字符串中的字符直到遇到’0’
puts输出字符串(输出完,换行)puts(str);