📅  最后修改于: 2023-12-03 14:39:39.801000             🧑  作者: Mango
在C语言中,字符串被定义为字符数组。它是由一系列的字符组成,并以Null字符 '\0' 结尾。通常在字符串的末尾会添加一个结束符号,这样我们就能知道字符串在哪里结束了。
我们可以在声明一个C字符串时,提供一个值,也可以不提供,例如:
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
char welcome[] = "Welcome";
第一个字符串通过字符数组的方式进行初始化,并指定了字符串长度为6,其中最后一位是Null字符。 第二个字符串则直接使用双引号进行声明,系统会自动为其添加一个Null字符。
我们可以使用C语言提供的标准库函数来读取和输出字符串。一般来说,C语言中读取和输出字符串的方式有两种:逐个字符读取和使用标准库函数。
我们可以使用scanf()
函数来逐个读取字符,例如:
char str[100];
scanf("%s", str);
这个代码片段会读取用户输入的字符串并储存在字符数组str
中。
我们也可以使用getchar()
函数从输入缓冲中获取一个字符,例如:
char ch;
while((ch = getchar()) != '\n') {
printf("%c", ch);
}
这个代码片段会一直读取用户输入直到遇到换行符。
C语言提供了一些标准库函数来方便读取和输出字符串,例如:
printf("Hello, %s", name); // 输出字符串
fgets(str, 100, stdin); // 从标准输入读取字符
fputs(str, stdout); // 输出字符串
这些函数的详细说明可以在C语言的官方文档中找到。
我们可以使用C标准库函数中的strcmp()
函数来比较字符串,例如:
char str1[] = "abc";
char str2[] = "abc";
if(strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal.");
}
我们可以使用C标准库函数中的strcat()
函数来连接字符串,例如:
char str1[100] = "Hello ";
char str2[] = "World!";
strcat(str1, str2);
printf("Result: %s", str1); // "Hello World!"
C语言中的字符串是一种字符数组,需要以Null字符 '\0' 结尾。我们可以使用逐个字符读取和标准库函数读取的方式来读取字符串,使用标准库函数来输出字符串。同时,我们也可以使用标准库函数来比较和连接字符串。