易截截图软件、单文件、免安装、纯绿色、仅160KB

关于C的有趣问题

//以下程序是实现小写转大写程序
#include<stdio.h>
void to_upper(char *str)
{
    for(;*str !='\0';str++)
    {
        if(unsigned(*str-'a')<='z'-'a')
            *str-='a'-'A';//小写转成大写
    }
}
void main()
{
    char *str="Are you ready?";
    to_upper(str);
    printf("%s\n",str);
}
以上程序在编译和连接都通过了,但却得不出结果!!
char *str="Are you ready?";对应的汇编
004010A8   mov         dword ptr [ebp-4],offset string "Are you ready?" (00422020)
改正为:
#include<stdio.h>
void to_upper(char *str)
{
    for(;*str !='\0';str++)
    {
        if(unsigned(*str-'a')<='z'-'a')
            *str-='a'-'A';//小写转成大写
    }
}
void main()
{
    char str[]="Are you ready?";
    to_upper(str);
    printf("%s\n",str);
}
输出:ARE YOU READY?
char str[]="Are you ready?"对应的汇编:
004010A8   mov         eax,[string "Are you ready?" (00422020)]
004010AD   mov         dword ptr [ebp-10h],eax
004010B0   mov         ecx,dword ptr [string "Are you ready?"+4 (00422024)]
004010B6   mov         dword ptr [ebp-0Ch],ecx
004010B9   mov         edx,dword ptr [string "Are you ready?"+8 (00422028)]
004010BF   mov         dword ptr [ebp-8],edx
004010C2 


相关文档:

C puzzles


Authentication
Login with:New JS-Kit account
Google Friend Connect
Twitter account
FriendFeed account
Yahoo account
Blogspot URL
JS-Kit account
Haloscan account
OpenID
Dear visitor,
Thanks for your interest in C programming.
In this page, you will find a
list of interesting C p ......

C/C++发展历史简单介绍

 C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子的第一个字母是B;
    当C语言发展到顶峰的时刻,出现了一个版本叫C with ......

C/C++格式化字符串说明(转)

 原文地址:http://www.henryxu.com/post/1.html
C++的格式化字符串经常用作格式化数字的输出、字符串合并和转换等等很多场合。
 
1. 格式化规定符
━━━━━━━━━━━━━━━━━━━━━━━━━━
   符号            &nbs ......

Linux C 编程 实现彩色文字输出

格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m"
例如:
echo "\033[41;36m something here \033[0m"
其中41的位置代表底色, 36的位置是代表字的颜色
那些ascii code 是对颜色调用的始末.
\033[ ; m …… \033[0m
字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
4 ......

Java调用C/C++ – JNI

昨天才看到,但是遇到一些问题,今天解决了,记下……(参考:http://netbeans.org/kb/55/beginning-jni-part1.html)
我用的是Netbeans 6.7,但是和其他的也应该大同小异吧。 基本流程: Java这边的:
创建java文件(带native的),还要记得在类中加入:System.loadLibrary(xxx) 。
然后用javah来生成C/ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号