vinoMVP 2016-05-24 01:54 采纳率: 0%
浏览 1145

一段简单的c代码,一直报错,求大神们指点

 char * reverse_str(char *s){
    char *p = s;
    char *q = s;
    char temp = 0;

    while(*q != '\0'){
        q++;
    }

    q--;//\0前一个字符

    while(p < q){
        temp = *p;
        *p = *q;
        *q = temp;
        p++;
        q--;
    }

    return s;
}

调试之后发现是交换那段循环的问题,不知道问题出在哪,求指点!

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-05-24 02:31
    关注

    http://codepad.org/zfdaNroy
    程序没问题

    是不是你试图改变的是常量
    比如
    char * s = "hello";
    那么就会报错。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型