c语言里字符和整形怎么算术运算
char n;int c;c='8'+'0'-2*'0';n=c%10+'0';printf("%c",n);为啥是字符8,而不是字符6,还有2*'0'是换算成2*48吗
你要这样理解 ,在c语言中,字符实质上也是一个整形,它的范围为-128~127(无符号的为0~255)
而常量字符,实际值是它的ASCII码,如'8' 就等于56(这个可查ASCII表),而'0'为48
所以
c='8'+'0'-2*'0'=56+48-2*48=8
而
n=c%10+'0'=8%10+48=8+48=56
你若用%c输出某一字符的值,它就是输出该ASCII码值对应的字符,因为56对应的是'8'
所以上面的程序结果就是
8
上一篇:鲁大师一定要用吗?
热门标签: