澄与明 2022-03-26 09:37 采纳率: 97.6%
浏览 23
已结题

关于程序的运行结果?

#include <stdio.h>
void fun(char str[])
{
int i, j;
for (i = 0,j= 0; str[i]!='\O'; i++)
if (str[i]!='b')
str[j++]= str[i];
str[j]='\0';
}
int main()
{
char str[] ="abcdef";
fun(str);
printf("str=‰s\n", str);
}

  • 写回答

1条回答 默认 最新

  • a5156520 2022-03-26 10:30
    关注

    结果是 :acdef .
    首先i=0,j=0. if判断符合条件, str[j=0] 赋值为str[i=0],即字符'a',
    然后 j++变为1,str[j=1]处存放一个空字符'\0'.


    然后i=1,str[i=1]为字符'b',所以条件不满足,然后执行str[j=1]存放一个空字符'\0'.


    接着,i=2,j=1, 如首先那步一样,先存放str数组里面下标为i(2)位置的字符(‘c')到下标为j(1)位置,
    然后j++,j=2存放一个空字符。接下来同样 依次在str数组下标j的位置,依次被存入字符:‘d' , 'e' , 'f'.每次都在j后面一个位置加一个空字符。直到i=6,达到str数组的空字符位置,循环结束。


    所以最后的打印结果为 “acdef".

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月7日
  • 已采纳回答 3月30日
  • 创建了问题 3月26日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号