【笔记】C语言的字符数组与字符串
前言
C语言的字符数组与字符串学习笔记
定义字符数组
1 | char 变量名[数组长度]; |
字符数组初始化
- 最后一个字符需要是
'\0'
或0
才可以组成字符串
1 | char 变量名[数组长度] = { '', '', ..., '\0' }; |
省略最后一位
- 省略最后一位默认为0
1 | char 变量名[数组长度] = { '', '', ... }; |
定义字符串
- 实际上是简化字符数组的初始化
1 | char 变量名[数组长度] = ""; |
初始化为默认值
1 | char 变量名[数组长度] = { 0 }; |
字符串输入
- 从控制台输入一个字符串
scanf 函数
- scanf函数会认为空格和回车都是结束符
- 如果输入超出字符串长度,会报错
- 结尾不会自动换行
1 | char 变量名[数组长度] = { 0 }; |
gets函数
- gets函数只会认为回车是结束符
- 如果输入超出字符串长度,会报错
1 | char 变量名[数组长度] = { 0 }; |
fgets 函数
- fgets改进了gets
- fgets函数只认为回车是结束符,同时这个换行符也作为输入存进了字符串
- 如果输入超出字符串长度,不会报错
- 结尾会换行,因为有换行符
1 | char 变量名[数组长度] = { 0 }; |
字符串输出
printf 函数
- 结尾不会自动换行
<str>
:字符串变量
1 | printf("%s", <str>); |
puts 函数
- puts只能输出字符串
- 结尾会自动换行
1 | puts(<str>); |
fputs 函数
- 结尾不会自动换行
1 | fputs(<str>, stdout); |