getchar是给字符传值的,scanf("%s",&s1);给字符串传s%格式的值需要加&gets(s1);一次只有一个字符串scanf("%c",s1);可以看作scanf("%c",&s1[0]);