当前位置: 代码迷 >> C语言 >> 问个题目!?求教!
  详细解决方案

问个题目!?求教!

热度:187   发布时间:2008-04-24 10:25:28.0
问个题目!?求教!
程序代码:
#include <stdio.h>

void reverse_string()
{
    char *str = "abcd";    
    char *last_char;
    for(last_char = str; *last_char != '\0'; last_char++);
    last_char--;
    while(str < last_char)
    {
        char temp;
        temp = *str;
        *str++ = *last_char;
        *last_char-- = temp;
        
    }
    printf("%s\n",str);
}
int main()
{
    reverse_string();
    return 0;
}

结果输不出来?
?????
求教
貌似地址跑到哪里去了?
不能用数组
实现字符串反向
搜索更多相关的解决方案: void  include  return  字符串  

----------------解决方案--------------------------------------------------------
char *str = "abcd";
这就是你的致命错误

[color=white]
----------------解决方案--------------------------------------------------------
??
姐姐! 详细点!
要动态分配?
----------------解决方案--------------------------------------------------------
你这是TC经典错误

[color=white]
----------------解决方案--------------------------------------------------------
我用的是VC
靠!看来被书寒死了!
----------------解决方案--------------------------------------------------------
new了下,怎么还不行啊?
郁闷!
----------------解决方案--------------------------------------------------------
给你改了一下
#include <stdio.h>

void reverse_string()
{
    char str[] = "abcd";   
    char *first_char,*last_char;
    for(first_char = last_char = str; *last_char != '\0'; last_char++);
    last_char--;
    while(first_char < last_char)
    {
        char temp;
        temp = *first_char;
        *first_char++ = *last_char;
        *last_char-- = temp;
        
    }
    printf("%s\n",str);
}
int main()
{
    reverse_string();
    return 0;
}

----------------解决方案--------------------------------------------------------
学习了。谢谢
----------------解决方案--------------------------------------------------------
谢谢!
永夜的极光
----------------解决方案--------------------------------------------------------
tupian
说实话,那个图片真的不怎么样,你还是换了吧,雨中飞燕,太大了,而且也不好看
----------------解决方案--------------------------------------------------------
  相关解决方案