鱼C论坛

 找回密码
 立即注册
查看: 670|回复: 2

[已解决]putchar的问题

[复制链接]
发表于 2020-7-28 04:02:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
putchar('A' + (ch - 'A' + 3) % 26);
这句话是什么含义,这句话中的%26是什么意思,怎么使用?
最佳答案
2020-7-28 08:42:52
%是求余运算,就是求两个数相除的余数,例如:8%3=2,  13%5=3
(ch - 'A' + 3) % 26
这个是将(ch - 'A' + 3) 对26求余,然后在加上字符 'A'
这个的目的是将字符 ch 循环后移三位,例如: 'A' 变成 'D' , 'X' 变成 'A' , 'Z' 变成 'C'
ch-'A' 就是用 ch 的ASCII码减去 'A' 的ASCII码
当 ch小于X、Y、Z,即(ch - 'A' + 3)小于26的时候,求余不求与结果一样,('A' + (ch - 'A' + 3) % 26)实际上就是 ch+3,相当于直接后移三位,当ch为X、Y、Z,即(ch - 'A' + 3)大于26的时候,其余就相当于减去了26,('A' + (ch - 'A' + 3) % 26)相当于('A' + (ch - 'A' + 3)- 26),即 (ch+3-26), 将XYZ分别变为ABC

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
zeroc + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-28 08:05:15 | 显示全部楼层
本帖最后由 livcui 于 2020-7-28 08:33 编辑

就向 putchar 函数传入一个 char 参数,然后 putchar 输出传入的字符,
% 26 是取余数(取模运算符),比如 7 % 2 = 1就是取模。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 08:42:52 | 显示全部楼层    本楼为最佳答案   
%是求余运算,就是求两个数相除的余数,例如:8%3=2,  13%5=3
(ch - 'A' + 3) % 26
这个是将(ch - 'A' + 3) 对26求余,然后在加上字符 'A'
这个的目的是将字符 ch 循环后移三位,例如: 'A' 变成 'D' , 'X' 变成 'A' , 'Z' 变成 'C'
ch-'A' 就是用 ch 的ASCII码减去 'A' 的ASCII码
当 ch小于X、Y、Z,即(ch - 'A' + 3)小于26的时候,求余不求与结果一样,('A' + (ch - 'A' + 3) % 26)实际上就是 ch+3,相当于直接后移三位,当ch为X、Y、Z,即(ch - 'A' + 3)大于26的时候,其余就相当于减去了26,('A' + (ch - 'A' + 3) % 26)相当于('A' + (ch - 'A' + 3)- 26),即 (ch+3-26), 将XYZ分别变为ABC

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
zeroc + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 10:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表