-1就是EOF啊。你的循环会先将EOF写入s[12],然后才判断输入的是不是EOF,所以写的有点问题应该是:
while((c=getchar() ) != EOF) s[i++] = c;
Ctrl+Z输入EOF,EOF的定义就是-1stdio.h中#define EOF (-1)