【发布时间】:2015-10-09 12:31:26
【问题描述】:
1[在我的链接列表程序中,我的输出有问题。当第二次编译器询问我的选择时,它不接受我的选择,直接输出出现在我无法解决的问题。]@987654322 @
【问题讨论】:
-
请编辑您的问题以包含您的完整代码。发布指向您的部分代码图片的链接意味着(a)此问题仅在该链接保持有效时才有用,(b)我们看不到您的所有代码。
标签: c struct linked-list
1[在我的链接列表程序中,我的输出有问题。当第二次编译器询问我的选择时,它不接受我的选择,直接输出出现在我无法解决的问题。]@987654322 @
【问题讨论】:
标签: c struct linked-list
记得在输入前一个scanf 的数据后按Enter 吗?此换行符由 scanf 和 %c 使用。
你必须改变
scanf("%c",&ch);
fflush(stdin);
到
scanf(" %c", &ch);
这样scanf 将跳过前一个scanf 留下的换行符。 %c 之前的空格是一个空白字符,scanf 格式字符串中的空白字符告诉scanf 扫描并丢弃任意数量的空白字符(如果有的话),直到第一个非空白字符为止。
并且fflush(stdin); 根据 C 标准未定义,尽管某些实现定义了它的行为。基本上,你应该避免它以增加可移植性。
【讨论】: