鱼C论坛

 找回密码
 立即注册
查看: 1645|回复: 0

[技术交流] C:S1E39的翻转字符串问题

[复制链接]
发表于 2021-1-27 15:33:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Lightup 于 2021-1-27 17:54 编辑

/*关于为什么要str要减2?好像是这样的,如下*/


#include <stdio.h>
void main()
{
        char *str = "abc";
   
    char *start = str;
    char *left = str;
    char ch;
    printf("start:%p\n",start);
    printf("left:%p\n\n",left);
     

        if (str != NULL)
        {
                printf("str:%p\n",str);
                printf("*str:%c\n\n",*str);
                // 定位到字符串的最后一个字符
                while (*str++)                                                //1.a  2.b        3.c  4.'/0'(此时地址又后移了)
                {
                        printf("str:%p\n",str);                        //1.b的地址        2.c的地址  3.'\0'的地址  
                        printf("*str:%c\n",*str);                //1.b        2.c  3.'\0'
                        
                }
                printf("\nstr:%p\n",str);
                printf("*str:%c\n",*str);
                str -= 2;
                                printf("str:%p\n",str);
                                printf("*str:%c\n",*str);
                while (left < str)
                {
                        ch = *left;
                        *left++ = *str;
                        *str-- = ch;
                        printf("str:%p\n",str);
                }
        }
}
QQ图片20210127153020.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 08:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表