字符串变量和echo(C)*作业*

时间:2017-07-05 20:51:44

标签: c loops while-loop keyboard

我正在尝试解决这个问题:编写一个C程序,从键盘读取字符,直到输入返回键并回显屏幕上输入的文本。

这是我到目前为止所做的,我不确定我可以存储用户输入的变量,以便我可以将其打印回来(假设这是echo的意思):

#include<stdio.h>
#include<string>
int main ()
{
    char sentence;
    printf("Please enter anything you want: ");
    scanf("%c",&sentence);

    printf("%c",sentence);

    return 0;
}

2 个答案:

答案 0 :(得分:1)

您似乎只需要以下内容

#include <stdio.h>

int main(void) 
{
    printf( "Please enter anything you want: " );

    int c;

    while ( ( c = getchar() ) != EOF && c != '\n' )
    {
        putchar( c );
    }

    putchar( '\n' );

    return 0;
}

那就是你需要使用一个循环来循环,直到按下Enter键。

答案 1 :(得分:0)

您可以尝试使用getchar从stdin返回单个字符。

int character;
while (character != EOF && character != '\n') {
    character = getchar();
    putchar(character);
}

或者,您可以在while循环中进行分配。

int character;
while ((character = getchar()) != EOF && character != '\n')
    putchar(character);