最适合网络开发者的网站
C 语言。W3Schools 英文版。初学者课程

尿素 西斯

C 字符串


字符串

字符串用于存储文本/字符。

例如,“Hello World”是一串字符。

与许多其他编程语言不同,C 没有 字符串类型 轻松创建字符串变量。相反,您必须使用char 键入并创建一个大批 在 C 语言中组成字符串的字符数:

char Greetings[] = "你好,世界!";

请注意,必须使用双引号 ("").

要输出字符串,您可以使用 printf() 与格式说明符一起使用%s 告诉 C 我们现在正在处理字符串:

例子

char Greetings[] = "你好,世界!";
printf("%s",问候);
亲自尝试 »

访问字符串

由于字符串实际上是 数组 在 C 语言中,可以通过方括号内的索引号来访问字符串[].

此示例打印 第一个字符 (0)问候:

例子

char Greetings[] = "你好,世界!";
printf(" %c", 问候语[0]);
亲自尝试 »

请注意,我们必须使用 %c 格式说明符来打印单个字符.


修改字符串

要更改字符串中特定字符的值,请引用索引号,并使用 单引号:

例子

char Greetings[] = "你好,世界!";
问候[0] = 'J';
printf("%s",问候);
// 输出 Jello World! 而不是 Hello World!
亲自尝试 »

循环遍历字符串

您还可以使用 for 环形:

例子

char carName[] = "沃尔沃";
int 我;

对于 (i = 0; i < 5; ++i) {
printf("%c\n", 汽车名称[i]);
}
亲自尝试 »

就像我们在 数组 章节,您还可以使用sizeof 公式 (而不是在循环条件中手动写入数组的大小(i < 5))以使循环更加可持续:

例子

char carName[] = "沃尔沃";
int 长度 = sizeof(汽车名称) / sizeof(汽车名称[0]);
int 我;

对于(i = 0; i &lt; 长度; ++i){
printf("%c\n", 汽车名称[i]);
}
亲自尝试 »

创建字符串的另一种方法

在上面的例子中,我们使用了“字符串文字”来创建字符串变量。这是在 C 中创建字符串的最简单方法。

您还应该注意,您可以用一组字符创建一个字符串。此示例将产生与本页开头的示例相同的结果:

例子

char Greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
printf("%s",问候);
亲自尝试 »

为什么我们要包括 \0 最后的人物? 这被称为“空终止符”,使用此方法创建字符串时必须包含它。它告诉 C 这是字符串的结尾。


差异

这两种创建字符串的方法的区别在于,第一种方法更容易编写,并且你不必包含 \0 字符,因为 C 会为您完成这件事。

您应该注意到两个数组的大小是相同的:它们都有 13 个字符 (顺便说一下,空格也算一个字符),包括\0 特点:

例子

char Greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
char Greetings2[] = "你好,世界!";

printf("%lu\n", sizeof(greetings)); // 输出 13
printf("%lu\n", sizeof(greetings2)); // 输出 13
亲自尝试 »

现实生活中的例子

使用字符串创建一个简单的欢迎消息:

例子

char message[] = "很高兴见到你,";
char fname[] = "约翰";

printf("%s %s!", message, fname);
亲自尝试 »

C 练习

通过练习测试自己

锻炼:

填写缺失的部分以创建一个名为 问候,并为其赋值“Hello”。

  = ;