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