哪位高手详解一下

来源:百度知道 编辑:UC知道 时间:2024/05/11 19:04:19
#include <stdio.h>
main()
{
int i,j;
char c;
while(1)
{ c=getchar();
if(c>='a' && c<='z')
putchar(c-'a'+'A');
else
break;
}
}
特别是 putchar(c-'a'+'A');是什么意思?

程序是这样的:
输入一个字符,如果不是小写字母就退出程序,如果是小写字母,就将小写字母转为大写字母后输出到屏幕上,然后在继续用户输入字符。

putchar(c-'a'+'A'); 中:
c - 'a' + 'A'的功能就是计算c的大写ASCII码。

例如:
c = 'd'
那么,c - ‘a'就等于'd' - 'a' = 3
然后,3 + 'A' 就等于'D'。

将小写字母转换为大写后输出。

这个程序做的事情是判断你输入的字母是不是小写 如果是小写就把它转化成大写 并且输出 putchar(c-'a'+'A');这一行其实就是用输入的小写字母的ASC码 减去大小写字母的ASC码差值 也就是把一个小写字母转化成它的大写形式。

#include <stdio.h>
main()
{
int i,j;
char c;
while(1)
{ c=getchar();//一直从键盘输入字符C
if(c>='a' && c<='z')//判断 输入的字符C是否在26个字母内
putchar(c-'a'+'A');//输出 字符C的对应ASII值-小写字母a对应ASII值然后+上大写字母A的ASII值 所对应的ASII值对应的字符就是
else
break;
}
}