Nin_haoya 2021-12-19 17:23 采纳率: 33.3%
浏览 5

sizeof使用时除了sizeof(a)/sizeof(a[0])还有在自定义输入数组时不可避免的问题

爷在做作业的时候卡住了
越想越不对劲

    char p[20];
    scanf("%s",&p);
    int lenth=sizeof(p)/sizeof(char);
    //一个问题是如果我定义了数组p的元素数量是20
    //那么sizeof出来的结果直接就是20
    //但是strlen函数就不一样
    cout<<lenth<<endl;
    int changdu=strlen(p);
    cout<<changdu<<endl; 
    //结果很正确 

运行结果及报错内容

自己看吧,可能会有人有同样的问题

img

我服了


  • 写回答

1条回答 默认 最新

  • [PE]经典八炮 2021-12-19 17:25
    关注

    对啊,sizeof计算的长度是p这块内存的长度

    评论

报告相同问题?

问题事件

  • 创建了问题 12月19日

悬赏问题

  • ¥15 本人本科机械,目前研一。没有深度学习基础,目前对研究生课题一片迷茫,请教各位!
  • ¥15 关于R语言单因素与多因素线性回归的平均值
  • ¥15 服务器清除BIOS之后引导不了
  • ¥15 CPLEX用OPL编写的混合整数线性优化问题。
  • ¥15 可以用EasyConnect连接实验室内网,但无法连接内网才能访问的服务器,为什么?
  • ¥15 前端预览docx文件,文件从后端传送过来。
  • ¥15 层次聚类和蛋白质相似度
  • ¥25 主成分分析中的第一第二主成分分别代表哪些参数
  • ¥15 oracle数据库查询语句问题
  • ¥15 有没有c++绘制算法的佬们吗救孩一下