c=getchar ();不是一次只能输入一个字符吗?为什么可以输入一串?

#include<stdio.h>
int main()
{
char c;
c=getchar();
while(c!='\n'){
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
{if(c>='w'&&c<='z'||c>='W'&&c<='Z')
c-=32;
else c+=4;
}
printf("%c",c);
c=getchar();
}
printf("\n");
return 0;
}

img

getchar()它确实每次只能读取一个字符,但是循环下一次遇到getchar()其实是从缓冲区读取用户上一次输入的字符串剩下的字符,直到遇到'\n'才结束

因为循环里面有c=getch()啊;
那就是循环输入单个字符,就是字符串了