| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2726 人关注过本帖
标题:这个程序问题在那里,如果有好的解答,奖励 100 +
只看楼主 加入收藏
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:0 
这个东西要是想研究明白就要等微软开源了。
2011-02-18 18:51
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 
微软已经大半开源了。WRK就是win2003的源码,比XP的版本还高呢
再说VS也可以下断点进行各种调试呀。
能编译成EXE的话,更可以自己用各种工具各种手段去分析。

不过这样的问题,似乎没必要费那么多的脑筋。

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2011-02-18 19:01
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <conio.h>

int main (void) {

        char c='\b';

        while
                (
                        (c=getch())
                                        *
                                        (((c-' ')&&putchar(c))|1)
                                        *
                                        (c-13)
                                        );

        getch();
        return 1;

}

大家继续编译一下这个程序有没有问题

小代码,大智慧
2011-02-18 19:14
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:0 
以下是引用点线面在2011-2-18 19:14:51的发言:

#include  
#include  
 
int main (void) {
 
        char c='\b';
 
        while
                (
                        (c=getch())
                                        *
                                        (((c-' ')&&putchar(c))|1)
                                        *
                                        (c-13)
                                        );
 
        getch();
        return 1;
 
}
 
大家继续编译一下这个程序有没有问题
呵呵呵呵,楼主啊,你应该把char c = '\b';改成char c = 'a';//这里的'a'是随便什么一般字符都可以
运行结果说明一个问题:编译器将putchar()提到了整个循环的外面(这就应该是优化的结果了)!
在楼主前面的程序中,由于没有给变量c赋值,那么按照老朱(我)的说法,c变量中应该是“垃圾数据”,所以才会出现一开始输出乱字符(我看到的是汉字)的情况!
这个帖子可以结了!

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-18 19:21
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
看来C语言编译器支持复杂表达式支持还是有限,所以...去结贴

小代码,大智慧
2011-02-18 19:29
快速回复:这个程序问题在那里,如果有好的解答,奖励 100 +
数据加载中...
 
   



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

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