Adore5202 2023-03-08 00:26 采纳率: 100%
浏览 27
已结题

关于#c语言#的问题,请各位专家解答!

#define MAXLEN 25
typedef struct{
    char ch[MAXLEN];
    int length;
}SString;
 Substring(SString &Sub,SString S,int pos,int len){
    if(pos+len-1>S.length)return false;
    for(int i=pos;i<pos+len;i++)
       {Sub.ch[i-pos]=S.ch[i];
    Sub.length=len;}
    printf("%s",Sub.ch);
    
    
}
int main(){
   SString Sub;
   SString S;
   
   for(int i=0;i<MAXLEN;i++)
  {
      scanf("%c",&S.ch[i]);
  }
   Substring(Sub,S,1,4);
}


  • 写回答

3条回答 默认 最新

  • qzjhjxj 2023-03-08 08:58
    关注

    修改如下,改动处见注释,供参考:

    #include <stdio.h>
    #define MAXLEN 25
    typedef struct {
        char ch[MAXLEN];
        int length;
    }SString;
    void Substring(SString& Sub, SString S, int pos, int len) { //修改
        int i;      //修改
        if (pos + len > S.length || pos < 0) return; // false; 修改
        for (i = pos; i < pos + len; i++)
        {
            Sub.ch[i - pos] = S.ch[i];
        }
        Sub.ch[i - pos] = '\0'; //修改
        Sub.length = len;       //修改
        
        printf("%s", Sub.ch);
    }
    int main() {
        int  i;       //修改
        SString Sub;
        SString S;
        scanf("%s", S.ch);  //修改
        for (i = 0; S.ch[i]; i++); //修改
        S.length = i;      //修改  
        //{
              //scanf("%c", &S.ch[i]);
        //}
        Substring(Sub, S, 1, 4);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题