我正在尝试解决这个问题:编写一个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;
}
答案 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);