【发布时间】:2021-12-29 22:02:05
【问题描述】:
我正在用 C 语言制作一个简单的刽子手游戏,我正在尝试检查字符串中的每个字符是否与猜测的字符匹配。但是当我测试它时,它给出的结果是不正确的,并且不应该首先通过if 语句。例如,当我输入字母a(这个词是apple)时,它给了我a__a。不知何故,这个词变成了 4 个字母而不是 5 个,它说最后一个字母是a,即使它不是。
#include <stdio.h>
int main() {
int size = 0;
char word[] = "apple", guess, hidden[size];
while (word[size] != '\0') {
size++;
}
for (int i = 0; i < size; ++i) {
hidden[i] = '_';
}
while (1) {
printf("%s\n", hidden);
scanf(" %c", &guess);
for (int y = 0; y < size; ++y) {
if (word[y] == guess) {
hidden[y] = guess;
}
}
}
return 0;
}
【问题讨论】: