字符串数组
字符串数组
strcat
的使用需要注意数组长度的设置。
1 |
|
会报错:zsh: illegal hardware instruction "/Users/bob/Desktop/C/平行四边形/"b
原因是strcat(str1,str2)
是把str2
的内容直接加在了str1
的尾部,但是并不会预先检测str1
的长度是否足够容纳两个字符串的内容。这一函数是不安全的,不会再运行时进行越界检查。
修改:
1 |
|
结果:
1 |
|
- 字符串数组赋值语法
1 |
|
等价于
1 |
|
等价于
1 |
|
strcpy
函数进行字符串复制
1 |
|
也相当于
1 |
|
❌错误写法:
1 |
|
这段代码会在编译时出错,因为它试图将一个字符串数组的地址赋给另一个数组名称。这是非法的,因为数组名称实际上是一个常量指针,不能被赋值。如果需要将一个字符串数组复制到另一个数组,应该使用库函数strcpy()或memcpy()。修改后的代码如下:
1 |
|
strncpy
函数
strncpy(str1,str2,2)
作用是将str2
中最前面2个字符复制到str1
中,str1
中原有的最前面2个字符。
strcmp
函数
strcmp(str1,str2)
返回一个整数。
两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
1 |
|
输出:
1 |
|
strlen
函数输出字符串的实际长度strlwr
把大写转换为小写strupr
把小写转换为大写
字符串数组
https://brockshuai.github.io/2023/05/22/程序设计复习/