printf02 2021-06-04 11:36 采纳率: 50%
浏览 141
已采纳

c语言中void头文件for循环的问题

像图中的例子for循环中是返回str[ i ]还是返回str[ j ] 

希望能详细的说一下for循环的一些细节

  • 写回答

3条回答 默认 最新

  • qfl_sdu 2021-06-04 14:06
    关注

    void类型的函数没有返回值

    在for循环中,判断str[]中的字符是否包含ch,如果str[i] != ch,就把str[i]放在str[j]中,如果等于的话,就不往str中放了(也就是从原来的str中删除掉了)。

    假设str="abcdefg",需要删除的字符是'c',刚开始i=0,j=0,执行过程如下:

    首次循环:str[0] = ‘a'   str[0]!= 'c'为true  :str[0] = str[0]; i++,j++(此时,i=1,j=1,str = "abcdefg") 

    第二次循环:str[1]=’b'   str[1]  != 'c' 为true:str[1] = str[1]; i++,j++(此时,i=2,j=2,str = "abcdefg")

    第三次循环:str[2]=’c'   str[2]  != 'c' 为false: str[j++] = str[i]这句话不执行,for循环i++执行(此时i = 3,j=2,str = "abcdefg")

    第四次循环:str[3]=’c'   str[3]  != 'c' 为true:str[2] = str[3];i++,j++(此时,i= 4,j=3,str = "abddefg")

    此时,str数组的内容已经发生变化,也就是把’c‘用’d‘替换了(相当于删除了)。后面的继续执行,

    到最后,i = 7,j = 6,str = abdefgg。

    for循环结束后,str[6] = '\0',就死把最后一个g替换成'\0',表示字符串结束,str最后的值就是“abdefg"

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

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝