【问题标题】:Read in a paragraph witht getchar() and print it with a loop and putchar()用 getchar() 读入一段并用循环和 putchar() 打印它
【发布时间】:2014-12-02 13:26:56
【问题描述】:

我已经为此工作了一段时间,我只是想知道是否可以使用 getchar() 读取段落,然后使用 putchar() 打印它。我知道有更好的方法来读入和打印出一个段落,但我只是在玩弄 C 并且很好奇,这是我目前所拥有的:

#include <stdio.h>
int main()
 {
     int c;
     printf( "Enter a value:");
     {
         for (int i=0; i<10000; i++)
         {
             c = getchar( );
             putchar( c );
         }
         printf("\nthank you");
         printf("\n");
     }
     return 0;
}

我想要的输出是:

输入一个值/段落:

您输入的值为:

【问题讨论】:

  • for 循环不需要大括号。如果您正在从文件中读取,则可以使用一个循环来读取字符并打印它。如果您从标准输入(终端)读取,您将输入一个字符并再次打印(看起来很难看)。
  • You don't need braces around for loop. @saadtaame 不,但它更容易维护,也更容易让其他人(即 StackOverflow 上的人)阅读。
  • @Qix 更容易阅读?开个玩笑吧?

标签: c for-loop while-loop char


【解决方案1】:

我猜你想完全捕捉整个段落。您只需要在按下回车键时停止。

这是详细信息:getchar() 无论如何都会等待输入,在此期间,您输入的任何内容都将存储在 缓冲区 中并显示在同时屏幕。然后按回车键后,getchar() 停止等待,并一次返回一个字符,以便您可以通过putchar 打印它们。

/* getchar example : typewriter */
#include <stdio.h>

int main ()
{
  int c;
  puts ("Enter text. Press enter to exit:");
  do {
    c=getchar();
    putchar (c);
  } while (c != '\n');
  return 0;
}

【讨论】:

    猜你喜欢
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多