为什么我的程序只能每隔一个字符打印一次?C

为什么我的程序只能每隔一个字符打印一次?C,c,linked-list,printf,C,Linked List,Printf,我创建了一个程序,以按相反顺序打印字符串(以“.”结尾)。程序获取每个字符并将其以相反顺序存储在链表中,然后在主函数中打印出链表。它可以工作,但是它会每隔一个字符打印一次 int main (void) { printf("Enter text: "); char text; textE *nexttext = NULL; while(getchar() != '\n') { text = getchar(); nextte

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

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()
都从缓冲区中取出一个字符。您只能看到输出中的每个字符,因为您正在丢失输入中的每个奇数字符。

循环中的
getchar()
text=getchar()中的
getchar()
都从缓冲区中取出一个字符。你只能看到输出中的每个字符,因为你会丢失输入中的每个奇数字符。

不要听起来粗鲁,因为我确信有人想帮助你回答这些问题,但对未来来说,这可能也很有用哈哈,没问题,谢谢不要听起来粗鲁,因为我确信有人想要帮助和回答这样的问题,但对于未来来说,这可能也是有用的哈哈,没问题,谢谢