在C语言中,可以使用scanf
函数结合\n
来实现以回车作为终止输入的效果。
下面是一个示例代码:
#include <stdio.h>
int main() {
char input[100]; // 定义一个字符数组用于存储输入的字符串
printf("请输入一行文本(以回车键结束):\n");
scanf("%[^\n]", input); // 使用格式化字符串%[^\n],表示读取除换行符外的所有字符
printf("你输入的文本是:%s\n", input);
return 0;
}
在上述代码中,scanf
函数使用%[^\n]
作为格式化字符串,表示读取除换行符外的所有字符,直到遇到换行符时停止读取。这样,当用户输入完一行文本并按下回车键时,scanf
函数就会停止读取输入。
需要注意的是,scanf
函数在读取输入时会将换行符留在输入缓冲区中,因此在使用scanf
函数之前通常需要先使用getchar
函数将缓冲区中的换行符清除掉。例如:
#include <stdio.h>
int main() {
char input[100];
printf("请输入一行文本(以回车键结束):\n");
getchar(); // 读取并忽略输入缓冲区中的换行符
scanf("%[^\n]", input);
printf("你输入的文本是:%s\n", input);
return 0;
}