| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 398 人关注过本帖
标题:谁可以帮我分析一下这个程序
只看楼主 加入收藏
moliy
Rank: 2
等 级:论坛游民
帖 子:39
专家分:24
注 册:2012-4-25
结帖率:90%
收藏
已结贴  问题点数:5 回复次数:4 
谁可以帮我分析一下这个程序


看不懂这个程序写的什么意思,希望大家帮我分析分析,谢谢

#include <stdio.h>
int main()
{
    int n, t;
    while (scanf("%d", &n) == 1)
    {
        t = 1;
        while (--n != 0)
        {
            ++t;
            t <<= 1;
        }
        printf("%d\n", t);
    }
    return 0;
搜索更多相关主题的帖子: include 希望 
2012-05-27 17:00
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:2 
就是先输入一个n,然后1加1乘2,再加1乘2,加1乘2。。。这样总共做n-1次,其中要注意几点,当n太大,最后结果可能会溢出,当n是负数,则是死循环,然后就木有然后了
2012-05-27 17:29
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:2 
以下是引用唯我独魔在2012-5-27 17:29:12的发言:
就是先输入一个n,然后1加1乘2,再加1乘2,加1乘2。。。这样总共做n-1次,其中要注意几点,当n太大,最后结果可能会溢出,当n是负数,则是死循环,然后就木有然后了

我补充一点,首先scanf这个函数

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2012-05-27 17:35
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
以下是引用唯我独魔在2012-5-27 17:29:12的发言:就是先输入一个n,然后1加1乘2,再加1乘2,加1乘2。。。这样总共做n-1次,其中要注意几点,当n太大,最后结果可能会溢出,当n是负数,则是死循环,然后就木有然后了

我补充点,首先scanf这个函数成功调用时返回为你输入值的个数,当然你这里为1,所以你第一个while循环基本上为永真,后面的就和他说的一样,注意如果输入为负值将进入死循环

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2012-05-27 17:40
xiyao0206
Rank: 2
等 级:论坛游民
帖 子:25
专家分:32
注 册:2012-4-23
收藏
得分:2 
2楼的解释很专业啊。是这样的。你需要知道两个知识点。一个是scanf函数的返回值问题,还有一个是《等于乘以2
2012-05-27 18:07
快速回复:谁可以帮我分析一下这个程序
数据加载中...
 
   



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

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