当你的参数类型是%d、%f、%s时,遇到回车,会被当做分隔符丢弃,所以不需要额外处理回车但是当你的参数类型是%c时,你键入的回车同样是一个字符,如果不处理,这个回车就会继续丢给后面的代码,那就全乱了你可以这样:scanf("%c\n"),告诉程序输入一个字符以回车结尾,这样回车本身不会再作为字符或者在这一行后面加个getchar把回车读进来丢弃