栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 ——指针训练 利用指针能直接操作内存的特点来编程输出字符串中每个字符在内存中的存储编码(字符串中可以包含英文数字和汉字

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 ——指针训练 利用指针能直接操作内存的特点来编程输出字符串中每个字符在内存中的存储编码(字符串中可以包含英文数字和汉字

利用指针能直接操作内存的特点来编程输出字符串中每个字符在内存中的存储编码(字符串中可以包含英文数字和汉字)。
程序的运行示例1如下:
请输入一个字符串,长度小于等于100:abcABC012中国人
该字符串的内存编码为: 61 62 63 41 42 43 30 31 32 d6 d0 b9 fa c8 cb
程序的运行示例2如下:
请输入一个字符串,长度小于等于100:12345上山打老虎
该字符串的内存编码为: 31 32 33 34 35 c9 cf c9 bd b4 f2 c0 cf bb a2
提示:
输出格式用"%x "
提示:为了不输出多余的ffff,
请用printf("%x ", (unsigned char)str[i] & 0xff);
或者
if (str[i] > 0xffffff00) printf("%x ", str[i] -0xffffff00);

代码如下:

#include 
#include 

int main(int argc, char *argv[])
{  	    	   	 
    char str[101] = {''};
    char *p1, *p2;

    printf("请输入一个字符串,长度小于等于100:");
    scanf("%s", str);

    p1 = (char *)(str + strlen(str));
    p2 = (char *)str;

    printf("该字符串的内存编码为: ");
    while (p1 > p2)
    {  	    	   	 
        printf("%x ", (unsigned char)*p2 & 0xff);
        p2++;
    }

    return 0;
}  	    	   	 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号