scanf("%d",&n);gets(a);这样输入n后回车,直接跳过了gets函数,执行了最后的printf函数
输入整数后你回车了,换行符还在输入缓冲区。gets直接读入了空行在gets前加个getchar();
两句之间插入一句:getchar();因为前一句scanf()读取输入的数后,输入缓冲区残留回车换行符,执行到gets()时会将残留的换行符读取,出现误动作。