文章目录
以下是本篇文章正文内容,下面案例可供参考
一、字符串处理函数
1.求字符串长度函数strlen()
函数调用的一般形式:
strlen(str)
【功能】计算并返回字符串中有效字符的个数(不包括字符串结束结束标志符‘\0’)
【说明】str可以是字符数组名,也可以是字符串常量。
例如:strlen("abcd efgh\\\123")的结果为11。
2.字符串拷贝函数strcpy()
函数调用的一般形式:
strcpy(str1,str2)
【功能】将字符串str2的内容连通字符串结束标记符'\0'一起复删到strl中,原str1
中值将被覆盖。
【说明】
①strl必须是字符数组,str2可以是字符串常量、也可以是字符数组。
②strl必须有足够的长度以容纳str2的内容。(足够大)
3.字符串连续函数strcat()
函数调用的一般形式:
strcat(str1,str2)
【功能】把字符串str2的内容连同字符串结束标记'0'连接到str1中原来字符串的后面。
连接后,原str1的'\0'被自动覆盖,生成的新串存放在strl中。
【说明】
①strl 必须是字符数组、str2可以是字符串常量、也可以是字符数组。
②strl必须有足够的长度以容纳连接后的新串内容。
4.字符串比较函数strcmp()
函数调用的一般形式:
strcmp(str1,str2)
【功能】比较strl和str2两个字符串的大小。
若相同则返回0,若strl串大于str2串则返回值大于0,若strl串小于str2串则返回值小于0。
字符串的比较规则为:从两个字符串中的第一个字符开始逐个比较字符的ASCII码值,
直至遇到不同的字符或‘\0’停止,字符ASCI码值大者字符串大,
如果全部字符相同,则两个字符串相等。
【说明】str1、str2可以是字符数组,也可以是字符串常量。
【注意】:不能使用关系运算符“==”来比较两个字符串是否相同,也不能用关系运算符“>”、“<”来比较字符串的大小。
5.字符串小写转大写函数strupr()
函数调用的一般形式:
strupr(str)
【功能】将字符串str中的小写字母全部转换成大写学母,不改变其他字符。
【说明】str是字符数组名。
6.字符串大写转小写函数strlwr()
函数调用的一般形式:
striwr(str)
【功能】将字符串str中的大写字母全部转换成小写字母,不改变其他字符。
【说明】str 是字符数组名。
如题:
二、系统默认全局变量
在 C 语言中,全局变量的作用域是整个源程序,从定义位置开始,到程序结束。如果没有在函数内部定义,则系统默认所有的函数内部都可以使用该全局变量。
如果在函数内部定义了同名的局部变量,则局部变量的作用域会覆盖全局变量。这意味着在该函数内部,如果使用该变量名,则编译器会优先使用局部变量,而不是全局变量。
为了在函数内部也能使用全局变量,可以使用关键字 extern 来声明全局变量。这样可以在函数内部告诉编译器,该变量是一个在别处定义的外部变量,可以引用它。通常是在头文件中用 extern 声明全局变量,然后在一个源文件中定义该变量。例如:
// 在头文件中声明全局变量
extern int global_var;
// 在源文件中定义全局变量
int global_var = 10;
int main() {
// 使用全局变量
printf("Global variable: %d\n", global_var);
return 0;
}
如题:
三、枚举类型
enum 枚举名 {枚举元素名1,枚举元素名2,...,枚举元素名n};
如题:
四、易错题
#include <stdio.h>
// 函数声明
void fun(int *a, int *b);
void main() {
int x = 3, y = 4;
// 传递变量地址作为参数
fun(&x, &y);
// 输出修改后的结果
printf("%d, %d\n", x, y);
}
// 函数定义
void fun(int *a, int *b) {
int *t;
// 交换指针所指向的变量的值
t = a;
a = b;
b = t;
}
这段代码的输出结果应该是 “3, 4”。在 main 函数中,我们定义了两个整型变量 x 和 y,分别赋值为 3 和 4。然后我们调用了 fun 函数,将 x 和 y 的地址传递给它。在 fun 函数中,我们定义了一个指针变量 t,将 a 的值赋给 t,将 b 的值赋给 a,将 t 的值赋给 b。这样就实现了交换 a 和 b 的值。
然而,由于在 fun 函数中我们交换的是指针变量 a 和 b 的值,而不是它们所指向的变量的值,因此实际上并没有交换 x 和 y 的值。最后在 main 函数中,我们使用 printf 函数输出 x 和 y 的值,得到的结果是 “3, 4” 。