C 的操作顺序用于初始化数组大小

C++ order of operations for initializing an array size

本文关键字:数组 初始化 用于 操作 顺序      更新时间:2023-10-16

我正在尝试分配此处的数组的确切大小。但是,在计算数组的大小之前,我需要初始化它。有人知道我现在应该做什么吗?预先感谢!

b.t.w我正在制作一个吊杆游戏,只是为了娱乐。

char letters[30];
strcpy(letters, word.c_str());
int wordLen = 0;
for (int i = 0; i < letters[i]; i++){
    wordLen++;
}

尚不清楚,您要使用该循环的方法,而且看起来非常可疑(您需要提供有关在此处尝试做什么的更多信息,以了解如何在必要时进行修复),但是假设它是正确的,您的代码可以通过消除缓冲区和strcpy()调用来修复:

int wordLen = 0;
for (int i = 0; i < word[i]; i++){
    wordLen++;
}

如果您需要变量word的副本进行修改,而不是更改原始,则只需创建另一个std::string实例作为副本即可。在您的情况下,没有理由创建原始的char数组。