我爱阿加莎(晓)
|
|
22 楼:
Re:Re:Re:Re:Re:201...
|
13年08月24日20点41分 |
b = (int)s + k; 这是作者写的赋值语句,s是数组名啊,指针常量(地址),强制转换成整形——这就好像你把“北京”强制转换成“数字”,根本没意义。而且就算这样大胆的做法是对的,那么b没有指向数组中的下一位,也就是说b已经被定死了,输出的内容无论如何都会是同一个“字符”,比如:111111111111,bbbbbbbbbb,啊啊啊啊啊啊,……这样的。 我的猜测是,残雨你复制过来的时候少了“(星号)”(推门禁止符号之一,同时也是C++中使用指针的符号),而且漏了b指向下一位的语句。
对了,关于移位,我想作者的初衷应该在于k(由k来控制移位数),而不是那个26,至于那个26,我猜是作者乱写的(不信他能解释得出什么),估计他想写个转换大小写的代码,但对ASCII码不熟悉, 正确的应该是: if(b >= 97) b = b - 32;//若b为小写字母,把它换成大写字母。
想想,我是不是太较真了一点。。。真是十分不好意思啊。。
[此贴被我爱阿加莎于2013-8-24 20:58:28修改过]
|
|
|
|
※来源: 【 推理之门 Tuili.Com 】.
|
|