| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 258 人关注过本帖
标题:求大神帮忙分析下如下程序
只看楼主 加入收藏
醉爱夕阳
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-12-9
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
求大神帮忙分析下如下程序
#include "stdio.h"
void main()
{
    char ch[]={'0','1','2','3','4','5','6','7','8','9'};
    int i=0,m=2,r,x=42; char b[80];
    while(x)
    {
        r=x%m; x/=m;
        b[i++]=ch[r];
    }
    for(--i;i>=0;i--)
        printf("%c",b[i]);
    printf("\n");
}
我自己分析的怎么跟运算结果是反的?哪位大神给我分析下,万分感谢。
搜索更多相关主题的帖子: include 
2013-12-26 13:45
mic123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:22
专家分:123
注 册:2013-12-23
收藏
得分:10 
不是大神,跑了下程序.发现
42%2=0 取得的字符ch[0]='0'  存储的时候存到了 b[0]
...b[6] 这个时候i递增到了6
输出的时候是反向的,所以输出101010

如是这个是你说的问题,可以试下这样
for(j=0;i<i;j++)
        printf("%c",b[j]);
2013-12-26 14:08
醉爱夕阳
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-12-9
收藏
得分:0 
回复 2楼 mic123
明白了,非常感谢!
2013-12-26 14:21
快速回复:求大神帮忙分析下如下程序
数据加载中...
 
   



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

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