在C語言中,接收字符串通常使用scanf()
函數或者fgets()
函數。這里有兩種方法可以接收字符串:
scanf()
函數:#include<stdio.h>
int main() {
char str[100]; // 定義一個字符數組,用于存儲輸入的字符串
printf("請輸入一個字符串:");
scanf("%s", str); // 使用scanf()函數接收字符串,但是它只能讀取到空格之前的內容
printf("你輸入的字符串是:%s\n", str);
return 0;
}
注意:scanf()
函數在讀取字符串時,會在遇到空格、制表符或換行符時停止讀取。如果需要讀取包含空格的整行字符串,建議使用fgets()
函數。
fgets()
函數:#include<stdio.h>
int main() {
char str[100]; // 定義一個字符數組,用于存儲輸入的字符串
printf("請輸入一個字符串:");
fgets(str, sizeof(str), stdin); // 使用fgets()函數接收字符串,它可以讀取整行內容,包括空格
printf("你輸入的字符串是:%s\n", str);
return 0;
}
fgets()
函數會在遇到換行符時停止讀取,因此它可以讀取包含空格的整行字符串。注意,fgets()
函數會將換行符也存儲到字符數組中,所以在輸出字符串時,換行符也會被輸出。如果不想輸出換行符,可以在輸出前將其替換為字符串結束符\0
。