【发布时间】:2017-09-13 15:29:47
【问题描述】:
我是 C++ 新手。尝试一个简单的问题:
创建一个 while 循环,输出一个少一个字符的 char 数组 每次循环,直到它只包含 '\0' 值。
答案是:
char s[] = "Hello World";
while (strlen(s))
{
s[strlen(s) - 1] = '\0';
cout << s << endl;
}
不过我没有使用strlen。
特别是这部分:s[strlen(s) - 1] = '\0';
谁能解释一下这部分是什么意思?
最后还有其他方法可以解决这个问题吗?
【问题讨论】:
-
s[strlen(s) - 1] = '\0';将终止 c 字符串字符设置为比以前少一个位置。 -
你查过
strlen做了什么? -
您的代码不会打印整个字符串。是故意的吗?它是要求的一部分吗?
-
使用 std::string,而不是 char 数组!