C程序设计(第四版) 谭浩强 例3.3
例3.3 给定一个大写字母,要用小写字母输出。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法1:直接通过+32转换
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char *letter = (char*)malloc(2 * sizeof(char));
printf("Enter Uppercase letter: ");
gets(letter);
while(*letter < 'A' || *letter > 'Z'){
printf("Error! It's not an uppercase letter! Retry!\n");
printf("Enter Uppercase letter: ");
gets(letter);
}
printf("Lowercase letter: %c\n", *letter);
free(letter);
system("pause");
return 0;
}
方法2:使用函数的模块化设计
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void inputUpper(char *letter){
printf("Enter Uppercase Letter: ");
gets(letter);
//以下判断输入是否正确
while(*letter < 'A' || *letter > 'Z'){
printf("Error! It's not uppercase letter! Retry!\n");
printf("Enter Uppercase Letter: ");
gets(letter);
}
}
void outputLower(char *letter){
printf("Lowercase Letter: %c\n", *letter + 32);
}
int main(){
char *letter = (char*)malloc(2 * sizeof(char)); //分配2个字符空间是因为最后要留一个结束字符
inputUpper(letter);
outputLower(letter);
free(letter);
system("pause");
return 0;
}