关闭

一个字符串的调试问题

200人阅读 评论(0) 收藏 举报
#include <stdio.h>
int main(void)
{
    int i;
    char str[6]="hello";
    char reverse_str[6]="";

    printf("%s\n", str);
    for(i=0;i<5;i++)
    {
       reverse_str[5-i]=str[i];
    }

    printf("%s\n",reverse_str);
    return 0;
}

//第二个printf没有结果我使用codeblocks监视变量发现
//循环后的值为\000olleh,于是将reverse_str[5-i]=str[i];
//改成reverse_str[5-i+1]=str[i];就行了
//这个小玩意如果我写的话,会写成char reverse_str[6];
//就是没有初始化reverse_str[6],我这样试了试,发现没初始化
//情况下reverse_str[5-i]=str[i];会输出乱码,汗...
//看来水平还是不行啊,学习......

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:84262次
    • 积分:1573
    • 等级:
    • 排名:千里之外
    • 原创:77篇
    • 转载:12篇
    • 译文:1篇
    • 评论:0条
    文章分类