在C語言中,可以使用scanf
函數(shù)結(jié)合\n
來實現(xiàn)以回車作為終止輸入的效果。
下面是一個示例代碼:
#include <stdio.h>
int main() {
char input[100]; // 定義一個字符數(shù)組用于存儲輸入的字符串
printf("請輸入一行文本(以回車鍵結(jié)束):\n");
scanf("%[^\n]", input); // 使用格式化字符串%[^\n],表示讀取除換行符外的所有字符
printf("你輸入的文本是:%s\n", input);
return 0;
}
在上述代碼中,scanf
函數(shù)使用%[^\n]
作為格式化字符串,表示讀取除換行符外的所有字符,直到遇到換行符時停止讀取。這樣,當用戶輸入完一行文本并按下回車鍵時,scanf
函數(shù)就會停止讀取輸入。
需要注意的是,scanf
函數(shù)在讀取輸入時會將換行符留在輸入緩沖區(qū)中,因此在使用scanf
函數(shù)之前通常需要先使用getchar
函數(shù)將緩沖區(qū)中的換行符清除掉。例如:
#include <stdio.h>
int main() {
char input[100];
printf("請輸入一行文本(以回車鍵結(jié)束):\n");
getchar(); // 讀取并忽略輸入緩沖區(qū)中的換行符
scanf("%[^\n]", input);
printf("你輸入的文本是:%s\n", input);
return 0;
}