听起来很简单,但我遇到了一个错误,我不确定是什么原因导致的?
nopunccount = 0;
char *ra = new char[sizeof(npa)];
while (nopunccount <= strlen(npa)) {
ra[nopunccount] = npa[strlen(npa) - nopunccount];
nopunccount++;
}
ra 永远不会为它赋值,我已经验证 npa 具有在 nopunccount 范围内提供的 char 值。
感谢任何帮助//:)
最佳答案
nopunccount
从 0 开始,因此在循环的第一次迭代中分配给 ra[0]
的字符是 npa[strlen(npa)]
。这是该字符串的终止 '\0'
。因此 ra
中的结果字符串以 '\0'
开头,因此通常的字符串函数将其视为在第一个字节处结束。
关于c++ - 将一个数组中的 char 值分配给另一个数组中的 char 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2362152/