- 简单的C语言程序不明白从键盘上输入一个大写字母,该用小写字母输出
- 从上输入一个大写字母,该用小写字母输出。
程序如下
main()
{char c1,c2;
c1=getch();
printf("\n%c,%d\n",c1,c1);
c2=c1+32;printf(%c,%d\n",c2,c2);
}
下面是我不明白的地方
printf("\n%c,%d\n",c1,c1);
c2=c1+32;printf(%c,%d\n",c2,c2);这两个语句怎么理解呢?
- printf("\n%c,%d\n",c1,c1);是用于将c1分别用整型格式和字符格式输出,假如输入一个字符A,则输出时会显示为:
A,65
而c2=c1+32就是用于将大写字母转换为小写字母,因为在ASCII码表中大写字母与小写字母之间正好相差32,这一句也可以写为:
c2=c1+'a'-'A'; //这样更好理解一些
最后一个printf和第一个printf功能是一样的。仍然假定c1='A',那么c2='a',输出应该为:
a,97