• 缓冲区“l”(大小为 24 字节)将溢出;4 字节将在偏移 24 时开始写入


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 xiake55555 2024-03-26 21:56 采纳率: 0% 浏览 4 首页/ 编程语言 / 缓冲区“l”(大小为 24 字节)将溢出;4 字节将在偏移 24 时开始写入 c++开发语言 #include #define n 6 int main() { int i, j; float x[n] = { 0.4,0.55,0.65,0.80,0.90,1.05 }, y[n] = { 0.41075,0.57815,0.69675,0.88811,1.02652,1.25382 }, l[n], xx = 0.596, yy = 0.0; for (i = 0; i < n; i++) { l[i] = 1.0; for (j = 0; j < n; j++) if (j != i) l[n] *= (xx - x[j]) / (x[i] - x[j]); yy += l[i] * y[i]; }printf("x=%f\ny=$f\n", xx, yy); } 严重性 代码 说明 项目 文件 行 禁止显示状态错误 C4789 缓冲区“l”(大小为 24 字节)将溢出;4 字节将在偏移 24 时开始写入 Project1 D:\我的文件夹\Project1\Project1.cpp 12报错为如下,但不知道怎么解决 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • Kwan的解忧杂货铺 Java领域优质创作者 2024-03-26 21:56
      关注

      xiake55555 晚上好🌙🌙🌙
      本答案参考ChatGPT-3.5

      问题分析: 在该代码中,定义了一个大小为24字节的缓冲区l,但循环过程中却错误地使用了l[n]来进行赋值运算。这导致了数组越界,从而使得缓冲区溢出。

      解决方案:

      1. 将缓冲区l的大小调整为n,使其与x和y数组的大小相匹配。
      2. 更正循环中的l[n],将其改为l[i],以正确赋值给l数组。

      修改后的代码如下:

      #include
      
      #define n 6
      
      int main() {   
          int i, j;
          float x[n] = { 0.4,0.55,0.65,0.80,0.90,1.05 }, y[n] = { 0.41075,0.57815,0.69675,0.88811,1.02652,1.25382 }, l[n], xx = 0.596, yy = 0.0;
          for (i = 0; i < n; i++)
          {
              l[i] = 1.0;
              for (j = 0; j < n; j++)
                  if (j != i)
                      l[i] *= (xx - x[j]) / (x[i] - x[j]);
              yy += l[i] * y[i];
          }
          printf("x=%f\ny=$f\n", xx, yy);
          
          return 0;
      }
      

      请注意最后的printf函数,并将其中的"$f"改为"%f"。

      这样就修复了缓冲区溢出的问题。

      展开全部

      评论
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      Python实现求解上个工作日逻辑
      Go类型嵌入介绍和使用类型嵌入模拟实现“继承”
      day45
      神经网络的敏感性分析,性神经敏感度如何测试
      OpenSSL之RSA用法
      R语言使用oneway.test函数执行单因素方差分析(One-Way ANOVA)、使用aov函数执行单因素方差分析(aov函数默认组间方差相同)
      使用Docker安装ElasticSearch和可视化界面Kibana【图文教学】
      全网最简约的Vscode配置Anaconda环境(百分百成功)
      牛视系统源码,抖音矩阵系统功能开发定制。I‘m here
      【Vue面试题十八】、你知道vue中key的原理吗?说说你对它的理解
    • 原文地址:https://ask.csdn.net/questions/8079477