代码如下:
#include<stdio.h>
int main(void)
{
int a,b,c;
int d,e,f,i;
printf("Please input a character!\n");
while(1)
{
f=getchar();
a=f-64;
for(i=1;i<=a;i++)
{
for(b=1;b<=a+1-i;b++)
putchar(' ');
for(c=65;c<=64+i;c++)
putchar(c);
for(d=63+i;d>=65;d--)
putchar(d);
putchar('\n');
}
}
return 0;
}
当我输入一个字符比如G时,打印出结果之后我认为还留有一个换行符在缓冲区,那么下次循环getchar()会读取这个换行符。但实际情况是getchar()每次都只会读取我输入的字符。