在C語言中,輸入字符串的方法有以下幾種:
使用scanf函數(shù):可以使用%s格式說明符來讀取字符串。例如:scanf(“%s”, str);
使用gets函數(shù):可以直接讀取一行字符串。例如:gets(str);
使用fgets函數(shù):可以讀取一行字符串,并指定最大讀取的字符數(shù)。例如:fgets(str, sizeof(str), stdin);
使用getchar函數(shù):可以逐個字符地讀取字符串。例如:while ((ch = getchar()) != ‘\n’) { … }
使用scanf函數(shù)結(jié)合%c格式說明符:可以逐個字符地讀取字符串。例如:scanf(“%c”, &ch);
使用scanf函數(shù)結(jié)合%[^\n]格式說明符:可以讀取一行字符串,包括空格。例如:scanf(“%[^\n]”, str);
使用scanf函數(shù)結(jié)合%[^\n]%*c格式說明符:可以讀取一行字符串,并清除輸入緩沖區(qū)中的換行符。例如:scanf(“%[^\n]%*c”, str);
需要注意的是,使用gets函數(shù)和scanf函數(shù)結(jié)合%c格式說明符進行字符串輸入時,容易出現(xiàn)緩沖區(qū)溢出的問題,可以使用fgets函數(shù)或者scanf函數(shù)結(jié)合%[^\n]格式說明符來避免此問題。