我知道有关此主题的其他问题,但我找不到一个我正在寻找的内容。我正在学习C课程并遇到了以下挑战:“创建一个新应用程序并创建四个字符数组 保留以下几行文字:
'玫瑰是红色的。 紫罗兰是蓝色的。 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";
}
有没有办法确定每个字符串中的字符长度,而不是手动计算每个数组中的字符数然后将该数字放在“[]”中?
答案 0 :(得分:3)
语法:
char str[] = "Some text.";
已经计算了字符串的正确长度。您不必采取任何进一步行动。保留[]
为空(在此上下文中)意味着数组具有存储字符串所需的确切大小。
您可以通过执行printf("The size is %zu.\n", sizeof str);
来检查这一点,请注意,这比1
的{{1}}更多,因为字符串具有空终止符。
答案 1 :(得分:1)
基于我的研究,使用strlen
代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str [] = "Roses are red.";
size_t len;
len = strlen(str);
printf("Length of |%s| is |%zu|\n", str, len);
return(0);
}
输出:
Length of |Roses are red.| is |14|
来源: http://www.gnu.org/software/libc/manual/html_node/String-Length.html