qq_43200287 2023-03-10 14:08 采纳率: 0%
浏览 11

关于#C语言#字符串函数的问题,如何解决?

这里为什么会多个引号呢? 明明两次都是拼接的"非"

img


源码:


#include <stdio.h>
#include <string.h>
#define SENT_LEN 5
#define WORDS_NUM 2
#define STR_LEN 101

int main(int argc, char** argv)
{
    int i, j;
    char words[SENT_LEN][STR_LEN] = {"非","淡泊","无以","明志","!"};
    char source[WORDS_NUM][STR_LEN] = {"淡泊","明志"};
    char target[WORDS_NUM][STR_LEN] = {"宁静","致远"};
    char sentence_before[STR_LEN];
    char sentence_after[STR_LEN];
    
    for (i = 0; i < SENT_LEN; ++i)
    {
        strcat(sentence_before, words[i]);
        for (j = 0; j < WORDS_NUM; ++j)
            if (strcmp(words[i], source[j]) == 0)
                strcpy(words[i], target[j]);
        strcat(sentence_after, words[i]);
    }
    
    puts("替换前:");
    puts(sentence_before);
    puts("替换后:");
    puts(sentence_after);

    return 0;
}
  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2023-03-10 14:17
    关注
     char sentence_before[STR_LEN] = {0};
        char sentence_after[STR_LEN] = {0};
    
    

    数组要初始化为0,否则没有字符串结束符

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月10日

悬赏问题

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