c - 获取字符数组的长度

标签 c arrays char

我知道有人问过有关此主题的其他问题,但我找不到符合我需求的问题。我正在学习 C 类(class),并面临以下挑战:“创建一个新应用程序并创建四个字符数组 保存以下文本行:

'玫瑰是红色的。 紫罗兰是蓝色的。 C 编程很有趣。有时让我头疼。 确保你的字符数组足够大 容纳用于终止 C 字符串的字符。 使用格式正确的 printf() 命令和指示符, 输出字符串数组值。 ”

这是我到目前为止的代码:

#include <stdio.h>

int main()
{

   char firstLine [] = "Roses are red.";
   char secondLine [] = "Violets are blue.";
   char thirdLine [] = "C programming is fun";
   char fourthLine [] = "And sometimes makes my head hurt";
}

有没有办法确定每个字符串中的字符长度,而不是手动计算每个数组中的字符数,然后将该数字放入“[]”中?

最佳答案

语法:

char str[] = "Some text.";

已经计算出字符串的正确长度。您无需采取任何进一步的操作。将 [] 留空(在此上下文中)意味着该数组具有存储字符串所需的确切大小。

您可以通过执行 printf("The size is %zu.\n", sizeof str); 来检查这一点,请注意,这将比 1strlen 的结果,因为字符串有一个空终止符。

关于c - 获取字符数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25614074/

相关文章:

java - 即使预先初始化,Java的拆分是否会覆盖数组的长度?

c - 二进制操作数无效 == 错误

java - 如何在 JTextPane 上设置不同的行?

c++ - 如何在C++中设置一个字符?

c - 尝试访问 C 中字符串数组的第一个字符时出现段错误

C 中的 Curl 问题,非常简单的示例返回错误 [Linker error] undefined reference to `_imp__curl_easy_init'

c - 使用 -> 运算符访问指向结构指针的指针

c - putchar 不打印最后一个字符

c - OpenMP 任务和线程创建

c - 这个 LLVM IR 代码有什么问题