黑马程序员技术交流社区

标题: 关于ASll作用问题 [打印本页]

作者: 编程到底    时间: 2014-4-4 13:45
标题: 关于ASll作用问题
英文大小写转换只能通过ASCll来实现吗?
作者: 王雪冬    时间: 2014-4-4 14:02
所需头文件
  1. #include <ctype.h>
复制代码

将字符c转换为大写英文字母
  1. int   toupper(int   c);     
复制代码

把字符转换成小写字母     
  1. int   tolower(int   c);   
复制代码

例如:
  1. int main()
  2. {
  3. int i;
  4. char str[]="hello World!";
  5. for(i=0;i< strlen(str);i++)
  6. {
  7. str[i] = toupper(str[i]);


  8. }
  9. printf("%s\r\n",str);
  10. }
复制代码



作者: 一只小菜鸟    时间: 2014-4-4 14:06
根据我的理解,每种语言都有相应的转换方法,但这些方法都是通过封装ASCLL码来实现的。
作者: haohaoxuexi    时间: 2014-4-4 22:40
通过ASCII中的大小写字母之间的固定差值,进行转换,字母的存储顺序也是按照ASCII编排的,应该只有按差值进行转换。
作者: 墨迹的可乐    时间: 2014-4-4 23:38
C语言中封装了直接转换字母大小写的函数,但是其本身也是根据ASCLL码实现的。
直接转换的函数封装在<ctype.h>文件中,分别是:
  1. a = tolower(a); //大写转小写
  2. a = toupper(a); //小写转大写
复制代码

作者: zjw66485542    时间: 2014-4-4 23:57
这个问题楼上说的很清楚了,C语言中的确有专门的两个函数来实现大小写的转换
原理算法应该也是通过ascll来实现的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2