这并没有“多输出”啊!先是提示“输入”,输入一个字符后,输出一行“输入”,再输出一行“输出”。至于有两次的情况,是这样的:输入一个a,再回车,这样就提供了两次循环的机会:第一次是读到了字符'a',第二次是读到了驾车符。所以会有你说的情况。要解决这样的问题,可以,再增加一个变量char c1;把读入语句改为:scanf("%c%c",&c,&c1);----这个c1用来读取字符后面的回车符。