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;
}
控制台
无标题1.c Q Xo
China!
z1.c 十 无标题1.c X
2 Glmre!
#include<stdio.h>
2 int mainO
4 char c
5 c=getcharO
while(cl=n')
if(c>='a&&c<='z'llc>=A'&&c<='Z)
fif(c>=w&&c<='z'llc>=W&&c<='Z)
9 C-=32:
10 elsec+=4:
12 printf("0c”,c);
3 C=getcharO;
printf(”\n”)
16 return0;
10
答
getchar()它确实每次只能读取一个字符,但是循环下一次遇到getchar()其实是从缓冲区读取用户上一次输入的字符串剩下的字符,直到遇到'\n'才结束
答
因为循环里面有c=getch()啊;
那就是循环输入单个字符,就是字符串了