我正在努力提高C++的水平(我知道一点)。我正在研究字符数组。我发现了一个练习,目标是反转字符数组(将其从整数转换后)。我收到以下错误(使用VS2005):
运行时检查失败#2-变量'revBuffer'周围的堆栈已损坏。
当我单步执行代码时,我注意到以下几点:
revBuffer = 0x0012fe40“100899ÌÌÌÌÌÌÌÌÌÌ998001”
相关代码如下。
char buffer[5];
char revBuffer[5];
int i;
int j=5;
long number = 998001;
itoa(number, buffer, 10);
for(i=0; i<strlen(buffer);i++)
{
revBuffer[j] = buffer[i];
j--;
}
任何帮助都会很棒。 TIA!
最佳答案
您正在过度索引revBuffer。它的大小为5,这意味着您可以将其从0索引到4,但是在循环中使用的第一个索引是5。
关于c - 尝试反转char数组时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2914292/