为什么return'9'-(ch-'0')可以转换字符不好意思,昨天由于时间紧促,没来得及把问题全部写上,其实原本是这样的char fun(char ch){//return '9'- (ch-'0');return ch ;}这个函数fun的功能是转换字符,比如输入0123

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/01 07:20:44
为什么return''9''-(ch-''0'')可以转换字符不好意思,昨天由于时间紧促,没来得及把问题全部写上,其实原本是这样的charfun(charch){//return''9''-(ch-''0'');re

为什么return'9'-(ch-'0')可以转换字符不好意思,昨天由于时间紧促,没来得及把问题全部写上,其实原本是这样的char fun(char ch){//return '9'- (ch-'0');return ch ;}这个函数fun的功能是转换字符,比如输入0123
为什么return'9'-(ch-'0')可以转换字符
不好意思,昨天由于时间紧促,没来得及把问题全部写上,其实原本是这样的
char fun(char ch)
{
//
return '9'- (ch-'0');
return ch ;
}
这个函数fun的功能是转换字符,比如输入012346789可以把0和9转换,1和8转换
但是我想不通ch不是应该是输入的一串字符?为什么可以转换?

为什么return'9'-(ch-'0')可以转换字符不好意思,昨天由于时间紧促,没来得及把问题全部写上,其实原本是这样的char fun(char ch){//return '9'- (ch-'0');return ch ;}这个函数fun的功能是转换字符,比如输入0123
char和int是等价的.参数ch是一个char类型,你查ASCII码表,0-9数字的16进制是0x30-39.
所以此函数先判断是不是0-9,不是的话直接返回字母.
是0-9,就成了0x39-(? - 0x30)
正好是数字相对式的变换,0变成9,1变成8,2变成7...