xiaoxaio.. 2021-01-21 16:31 采纳率: 78.9%
浏览 53
已采纳

这个问题是将字符串“a1a2a3a4"中的a替换为b,有些不明白为什么这样写错误呢

#include<stdio.h>
int main()
{
    char str[]="a1a2a3a4",*p=str;
    int i=0;
    while(*(p+i))
    {
        if(*(p+i)=='a') p[i++]='b';
    }
    puts(str);
   return 0;
}

  • 写回答

2条回答 默认 最新

  • qq_25376897 2021-01-21 17:16
    关注

    如果取到的值不是a,i就不会加1,那么就没办法往下走,就会死循环。所以无论是不是a,i都要加1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

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