HansonCPT 发表于 2017-6-18 18:38:05

如何在输入信息时可以输入带空格得字符串?

void getInput(struct Book *book)
{
        printf("请输入书名:");
        scanf("%s",book->title);
        printf("请输入作者:");
        scanf("%s",book->author);

       
}

比如在输入书名时,输入:CLANGUAGE为书名,输入后却直接把LANGUAGE输入了作者处,
输出后效果显示为:书名:C   作者:LANGUAGE
如何使输出效果显示为书名:CLANGUAGE?菜鸟先飞

ba21 发表于 2017-6-18 18:56:14

表达不清晰。

HansonCPT 发表于 2017-6-18 19:13:09

ba21 发表于 2017-6-18 18:56
表达不清晰。

就是如何解决scanf()输入流含有空格时而不会判断为输入结束。好像是用gets().

HansonCPT 发表于 2017-6-18 19:15:00

void getInput(struct Book *book);
void getInput(struct Book *book)
{
       
        printf("请输入书名:");
        fflush(stdin);
        gets(book->title);
        printf("请输入作者:");
        scanf("%s",book->author);

       
}//带你学C带你飞系列单链表S1E45的代码

ba21 发表于 2017-6-18 19:30:31

参考 http://blog.csdn.net/xxiaobaib/article/details/50753109

nano_core 发表于 2017-6-18 20:11:04

printf碰到第一个空格结束,gets读取能读到的所有
页: [1]
查看完整版本: 如何在输入信息时可以输入带空格得字符串?