liruby 2018-11-18 05:37 采纳率: 50%
浏览 628
已采纳

运行程序输出Ilovyu中间为什么没有空格呢?

#include"string.h"
void main()
{
char s[]="Beijing I love you!";int i,j,k,n;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=(i+1);j<n;j++)
if(s[i]==s[j])
{
for(k=j;k<n-1;k++)
s[k]=s[k+1];
n--;
}
}
s[n]='\0';printf("%s",s);
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-18 17:50
    关注

    你的程序的作用是,将字符串中重复的字符去掉,因为beijing后面有个空格了,所以后面的空格就删除了,要保留空格,可以修改下

    #include"string.h"
    int main()
    {
    char s[]="Beijing I love you!";int i,j,k,n;
    n=strlen(s);
    for(i=0;i<n-1;i++)
    {
    for(j=(i+1);j<n;j++)
    if(s[i]==s[j] && s[i] != ' ') // ignore the whitespace
    {
    for(k=j;k<n-1;k++)
    s[k]=s[k+1];
    n--;
    }
    }
    s[n]='\0';printf("%s",s);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写