hellosupermen391 2022-11-27 15:32 采纳率: 53.3%
浏览 9

fgets函数问题,也不懂报错内容

fgets()与get() 两个函数的出错

#include<stdio.h>
#include<string.h>
#include<math.h>
int main(void)
{
    /*********Begin*********/
    char s1[150], s2[150], s3[150];
    int f, m, n, i, j = 0, k = 0;  
    m = strlen(s1);
    n = strlen(s2);
    fgets(s1,m,stdin);
    fgets(s2,n,stdin);
    scanf("%d", &f);
    for (i = f; i < m; i++)
    {
        s3[k++] = s1[i];
    }
    for (i = f; i < n + f + 1; i++)
    {
        s1[i] = s2[j++];
    }
    strcat(s1, s3);
    s1[m + n] = '\0';          //使s1与s2连接后的s1的最后为'\0'
    printf("%s", s1);

    /*********End**********/
    return 0;
}

报错:1>D:\Java课程资料\code\Project3.cpp(9,19): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据
1>D:\Java课程资料\code\Project3.cpp(10,16): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据
为什么呢?报错内容我也不懂什么意思
其实原来版本是

#include<stdio.h>
#include<string.h>
#include<math.h>
int main(void)
{
    /*********Begin*********/
      char s1[150],s2[150],s3[150];
    int f,m,n,i,j=0,k=0;
    gets(s1);
    gets(s2);
    scanf("%d",&f);
    m=strlen(s1);
    n=strlen(s2);
    for(i=f;i<m;i++)
    {
        s3[k++]=s1[i];
    }
    for(i=f;i<n+f+1;i++)
    {
        s1[i]=s2[j++];
    }
    strcat(s1,s3);
    s1[m+n]='\0';          //使s1与s2连接后的s1的最后为'\0'
    printf("%s",s1);

    /*********End**********/
    return 0;
}

但是在visual studio 2022中运行会出错,
没定义标识符gets 没找到标识符gets 希望能帮忙解决一下,谢谢

  • 写回答

2条回答 默认 最新

  • 关注
        m = strlen(s1);
        n = strlen(s2);
     
    

    这俩求数组长度的时候,数组还没有初始化,应该先输入数组,再求长度

    
    fgets(s1,150,stdin);
        fgets(s2,150,stdin);
    
        m = strlen(s1);
        n = strlen(s2);
       
        
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月27日

悬赏问题

  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等
  • ¥15 联想交换机NE2580O/NE1064TO安装SONIC
  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 win10电脑安装完plcsim advanced4.0运行时为什么会提示找不到虚拟网卡
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧