c - 我的链接列表输出不正确?

标签 c struct linked-list

1 [在我的链接列表程序中,我的输出出现问题。当编译器第二次询问我的选择时,它不接受我的选择,直接输出出现在我无法得到它的问题处。] 2

最佳答案

还记得在为之前的 scanf 输入数据后按 Enter 吗?这个换行符由带有 %cscanf 使用。

你必须改变

scanf("%c",&ch);
fflush(stdin);

scanf(" %c", &ch);

这样 scanf 将跳过前一个 scanf 留下的换行符。 %c 之前的空格是空白字符,scanf 的格式字符串中的空白字符告诉 scanf 扫描并丢弃任意数量的空白字符,如果有的话,直到第一个非空白字符。

fflush(stdin); 根据 C 标准未定义,尽管某些实现定义了其行为。基本上,您应该避免使用它以提高可移植性。

关于c - 我的链接列表输出不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33038387/

相关文章:

c - 向函数提供的参数变为 NULL?

c - Printf w/Eclipse CDT 问题

c - 是在函数内部重新声明结构体还是将其声明为静态并每次都设置为 0 更好?

c - C中包含结构的结构中的字节分配

java - 如何在不依赖方法的情况下删除链表末尾的节点?

java - 根据列表中的项目数将 LinkedList 分成多个列表

c - 程序花费的时间比预期的要长,它运行正常吗?

c - 如果输入长度不同,如何计算函数 strcmp() 中的比较?

c++ - 删除函数的奇怪行为(混合 C 和 C++)

c++ - 结构不在内存中