//pick() returns a random word.
char* randomWord = pick(); //save random word in randomWord var
int length = strlen(randomWord); //get length of the randomWord
char HiddenRandomWord[length];
char* stringHiddenRandomWord = HiddenRandomWord;
for (i = 0; i<=length; i++){
HiddenRandomWord[i] = '_';
if (i == length) HiddenRandomWord[i] = '\0';
}
printf("%s", stringHiddenRandomWord);
我只是想在一个数组保存:_ _ _ _ _ //every letter is one low bar
为什么我不能在char数组中保存一个字符串?
如果随机字的长度,例如,是7,输出将是:_______ // 7倍_
但如果我moidfy HiddenRandomWord[i] = ' _';
//注意低位栏之前添加的空间,它保持的输出_______
,它只是最后一个字符。
我知道,当它有简单的引号时,它只用于一个字符,双引号用于多个字符。我有很多方法,我不明白。
我们不知道'pick'是什么或做什么。你可能想使用[strcpy(3)](http://man7.org/linux/man-pages/man3/strcpy.3.html)或者[snprintf(3)](http://man7.org /linux/man-pages/man3/snprintf.3.html),你应该阅读一本关于C编程的好书。不要忘记编译所有的警告和调试信息('gcc -Wall -Wextra -g')和**使用调试器**(''gdb') – 2014-10-26 18:13:14
''_''既不是有效的C字符串你认为它的方式,也不是一个字符 - 你不能像那样复制它。 – Leeor 2014-10-26 18:15:29
pick()只是从数组中获得一个随机单词并返回它 – Sergio 2014-10-26 18:15:41