中易网

问一个C语言程序的执行过程问题

答案:1  悬赏:80  
解决时间 2021-01-14 01:09
  • 提问者网友:风月客
  • 2021-01-13 12:41
问一个C语言程序的执行过程问题
最佳答案
  • 二级知识专家网友:詩光轨車
  • 2021-01-13 13:48
首先说明一点, 你这个代码并不符合题意, 它不只是对大写字母做了处理, 而且对小写字母同样做了处理. 即a->d b->e ... x->a y->b z->c
isalpha用来判断是否为字母.如果是a-z或者A-Z之间的,isalpha值为真,否则值为假.
大写字母的ascii码值是0x41到0x5A
小写字母是0x61到0x7A
所以任意的一个字母c, 做c%0x20的时候,结果是0x01到0x1A, 即1到26
于是如果s[i]%0x20>26 说明超出了z或者Z的范围,需要回到对应的开始位置,即
Z+3 -> B 这样的一个过程, 变换时减去26即可.
追问:稍稍有点难懂。。。请问如果更改或者添加语句,比如if的嵌套结构,让该程序用另一种方式完成对XYZ的加密的话,可以怎么写语句呢?
追答:只支持大写还是说也像这个一样同时支持大小写字母?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息