代码之家  ›  专栏  ›  技术社区  ›  unj2

如何用C语言编写echo程序?

c
  •  4
  • unj2  · 技术社区  · 14 年前

    输出应该是这样的:

    Enter Character : a
    Echo : a
    

    我写

    int c;
      while (c != EOF)
        {
          printf("\n Enter input: ");
          c = getchar();
          putchar(c);
        }
    

    但在Echos之后我得到了两个输入。

    5 回复  |  直到 8 年前
        1
  •  3
  •   Starkey    14 年前

    int c = 0; 
    int cr;
      while (c != EOF) 
        { 
          printf("\n Enter input: "); 
          c = getchar(); 
          cr = getchar();  /* Read and discard the carriage return */
          putchar(c); 
        } 
    
        2
  •  2
  •   The Archetypal Paul    14 年前

        3
  •  1
  •   user411313    14 年前

    char c[2];
    if( fgets( c, 2, stdin ) )
      putchar( *c );
    else
      puts("EOF");
    

        4
  •  0
  •   BrunoLM    14 年前

    scanf

    char str[50];
    
    printf("\n Enter input: ");
    scanf("%[^\n]+", str);
    
    printf(" Echo : %s", str);
    
    return 0;
    

     
     Enter input: xx
     Echo : xx
    

    scanf reference

        5
  •  0
  •   Donald Duck user7392049    8 年前
    #include <stdio.h>
    #include <conio.h>
    
    main(){
        int number;
        char delimiter;
        printf("enter a line of positive integers\n");
        scanf("%d%c", &number, &delimiter);
        while(delimiter!='\n'){
            printf("%d", number);
            scanf("%d%c", &number, &delimiter);
        }
        printf("\n");
        getch();
    }