#include<stdio.h>
void main()
{
char str[50];
printf("input string:>");
gets(str);
int i = 0;
while (str[i] != '\0')
{
if (str[i] >= 'a' && str[i] <= 'z')
{
str[i] = str[i] - 32;
}
i++;
}
printf("%s",str);
}
不用scanf是因为scanf遇到空格和回车会结束输入。
我们直到小写字母到大写字母ASCII码值想隔32,用十六进制为(0x20),大小写字母范围分别是
a~z(0x61~0x7a),用十进制来说就是(97~122)。大写字母是(0x41~0x5a);