#include<stdio.h>

void main()
{
write:char a;
printf("请输入一个小写字母:");

a=getchar();

    if(a<97||a>122){
        printf("错误,您输入的不是小写字母!!!\n");
        getchar();//(1)
        goto write;
    }
    else{
        printf("相应的大写形式:");
        putchar(a-32);
        printf("\n");
    }
}
//开始我没有加(1)处的getchar();
结果输入一个不是小写字母的时候,"错误,您输入的不是小写字母!!!“写了两遍,加上(1)处的getchar()后就没有了这种情况,这是因为,当你输入一个不是小写字母的东东的时候,比如说"1",然后按回车,a实际上就装上了两个字符,"1"和回车,但是getchar()只是获得一个字符,那么a只能得到一个字符,另一个储存在缓存里,这两个都不是小写字母,所以要经过两次if语句,这时加上(1)处getchar()就获取了缓存里的字符,这样可以了。
(此程序的缺陷:不能输入多个字符,比如"123")