c - 为什么我的程序只打印出每隔一个字符? C

标签 c linked-list printf

我创建了一个程序来以相反的顺序打印出一个字符串(以“.”结尾)。该程序获取每个字符并将其以相反的顺序存储在链表中,然后在 main 函数中打印出链表。它可以工作,但是它会打印出所有其他字符。

int main (void)
{
    printf("Enter text: ");
    char text;
    textE *nexttext = NULL;
    while(getchar() != '\n')
    {
        text = getchar();
        nexttext = insertchar(nexttext, text);
    }
 }

最佳答案

while循环中的getchar()text = getchar();中的getchar() > 都从缓冲区中取出一个字符。您只能看到输出中的每个字符,因为您丢失了输入中的所有奇数字符。

关于c - 为什么我的程序只打印出每隔一个字符? C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26984365/

相关文章:

c - 存储 1 到 1000 素数的链表

algorithm - 删除链表中的循环

c - 无限循环链表 C

用户输入 'exit'后,使用fork的C程序不会退出

c - c中ruby Exception类对象的扩展是什么?

c - c 中的 sizeof 运算符

c - 如果为零则赋值的简写,例如 c = str[i] || 'x'

c - 在 C/C++ 中使用 printf 打印 '%'

c - fprintf 和 difftime 疯狂

c - 将 printf 与 %s 和 char* 一起使用时出现问题