我是C语言的新手,正在尝试从用户那里读取一个字符和一个字符串(一个句子;最大长度为25)。
不确定以下代码哪里出了问题,它给我返回了一个“Segment Fault”的错误。
#include <stdio.h>
int main(){
char * str[25];
char car;
printf("Enter a character: ");
car = getchar();
printf("Enter a sentence: ");
scanf("%[^\n]s", &str);
printf("\nThe sentence is %s, and the character is %s\n", str, car);
return 0;
}
谢谢!
fflush(stdin)
)。 - lost_in_the_sourcescanf
读取句子——它会在第一个空格处停止读取。” 实际上,这是可能的(通过使用%[
格式说明符)。scanf
中的%s
会在第一个空格处停止读取。顺便说一下,fgets
将读取程序中getchar()
遗漏的\n
。 - Spikatrix