| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 297 人关注过本帖
标题:workthrough的程序老是得不出结果,请指点。
只看楼主 加入收藏
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
结帖率:71.88%
收藏
已结贴  问题点数:18 回复次数:3 
workthrough的程序老是得不出结果,请指点。
请看程序注释,谢谢。
#include <stdio.h>
 #define KEY 351

 int main(void) {
     char s[] = "adkfj";
     int i, shift, key = 0;

     printf("%s\n", s);
     for (i = 0; s[i] != '\0'; i++) {
         if (key == 0)
             key = KEY;//key=351
         shift = key % 10;//shift=1
         key /= 10;//这个是做什么用的?
         s[i] += shift;//按照循环,s[0]=s[0]+1,s[1]=s[1]+1,s[2]=s[2]+1,s[3]=s[3]+1...那么输出结果是什么字母?
         printf("%s\n", s);
     }

     return 0;
 }
搜索更多相关主题的帖子: include 
2013-04-01 10:20
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:15 
额,给你循环过程
i=0, key==0,  key=KEY=351,  shift=351%10=1, key=key/10=35 ,s[0]='a'+1='b',  输出"bdkfj"
i=1, key==35, 跳过判断      shift=35%10=5,  key=key/10=3  ,s[1]='d'+5='i',  输出"bikfj"
i=2, key==3,  跳过判断      shift=3%10=3,   key=key/10=0  ,s[2]='k'+3='n',  输出"binfj"
i=3, key==0,  key=KEY=351,  shift=351%10=1, key=key/10=35 ,s[3]='f'+1='g',  输出"bingj"
i=4, key==35, 跳过判断      shift=35%10=5,  key=key/10=3  ,s[4]='j'+5='o',  输出"bingo"
i=5,s[i]=='\0',跳出循环

三十年河东,三十年河西,莫欺少年穷!
2013-04-01 11:11
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
收藏
得分:0 
谢谢楼上的兄弟。
2013-04-01 11:16
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:3 
二楼回答还是可以的,你可以自己进行调试一步步看

Maybe
2013-04-01 22:41
快速回复:workthrough的程序老是得不出结果,请指点。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013899 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved