尝试格式化此函数,因为它会截断一个字符数组(用户输入的任何内容都会将其拆分为用户也输入的数字)
void truncate(char array[], int maxLength)
{
// Variable definition
int x = 0;
// While loop start.
while (array[x] <= maxLength)
{
cout << array[x];
x++;
}
}
函数头中的数组参数只是用户输入的字符串,是一个char数组。并且 maxLength 参数也是用户输入的 int 变量,它可以是 3、4 或 5。maxLength 应该充当空终止,无论用户输入什么,字符串都会在该数字后截断。
但是这段代码不起作用,它不显示函数的输出。有人知道我做错了什么吗?谢谢。
最佳答案
这里的问题是:
while (array[x] <= maxLength)
这是将 x 处的数组返回的字符与 maxLength 的值进行比较,因此您将 char 与 int 进行比较。为此,我会推荐更标准的 for 循环:
for (int x = 0; x < maxLength; x++) {
cout << array[x];
}
关于c++ - 通过函数 C++ 截断 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45777066/