void printInstructions();
char *getUserWord();
int main()
{
printInstructions();
char *baseWord = getUserWord();
printf("%s", baseWord);
return 0;
}
void printInstructions()
{
printf(" Instructions: \n"
"===================================================================\n"
"= This program is a hangman game. =\n"
"= The first user will enter the name to be guessed =\n"
"= After that, the second user will guess the letters of the word =\n"
"= the second user will loose if they have three strikes =\n"
"===================================================================\n");
return;
}
char *getUserWord()
{
static char str[20];
scanf("%s", str);
return str;
}
내 기능 getUserWord
은 문자열을 전달하여 작업을 수행합니다. 내가 온라인으로 읽은 것에서부터 char *baseWord = getUserWord();
은 주 함수 내의 변수에 문자열을 할당하는 유일한 방법이었다. 나는 이것이 왜 작동하는지 모르며, 이것이 메모리에서 무엇을하는지조차 확신하지 못한다. 아래는 나에게 의미가있는 것입니다. 왜 이것이 효과가 없을까요?함수를 통해 문자열 전달. C
char baseWord[21];
baseWord = getUserWord();
대단히 감사합니다. 그래서 실제로 배열을 통해 문자열을 전달할 수있는 방법은 없습니다. 또한, "char * getUserWord()"라고 할 때 함수가 주소를 반환한다는 것을 알 수 있습니까? –
첫 번째 질문에 대한 귀하의 말씨가 명확하지 않습니다 - "배열을 통해 문자열을 전달"한다는 것은 무엇을 의미합니까? 두 번째로 - char * getUserWord() 선언은 포인터를 반환하는 함수를 지정하고 포인터는 주소를 포함하는 변수 유형입니다. – Peter
첫 번째 질문은 실제로 함수에서 문자열을 반환하는 것이 가능하다는 것을 의미합니다. –