Проблема с входной строкой языка Си
Привет всем!!!
Я пытаюсь дать строку в качестве входных данных, используя C.
Когда я даю , например, "Hello world" в качестве входных данных, я получаю "Hello" только без "World".Почему это происходит и как я могу решить эту проблему???
Что я уже пробовал:
int main(void) { char *A = "Player_1"; char *B = "Player_2"; char *word_A = malloc(sizeof(char) * 50); char *word_B = malloc(sizeof(char) * 50); word_A = get_word(A,B); printf("Word_A => %s\n" , word_A); word_B = get_word(B,A); printf("Word_B => %s\n" , word_B); } char *get_word(char *player_A , char *player_B) { char *word = malloc(50); printf("%s give a word without %s looking at it: " , player_A , player_B); scanf("%s" , word); return word; }
Я также попробовал scanf("%[^\n]" , word); ,но тогда я не могу ввести данные во второй раз, и программа завершается.Что я могу сделать???
Спасибо...