黑喵复婚我十年单身 2021-11-26 08:52 采纳率: 100%
浏览 33
已结题

找出这段程序的bug,请问第一个warning是什么意思

img

img


Warning this‘for’ clause dose not guard

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-11-26 09:00
    关注

    好几个错误啊:
    首先for循环后面的分号不需要,这是导致出现warnning的原因,一段毫无意义的for循环
    其次是n%i=0应该是n%i==0
    最后是printf("Yes\n")语句前应该增加if(i>sqrt(n)),否则即时不是素数,也会输出"Yes"的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 关注

    第8行for最后面的分号删掉
    第10行n%i=0改成 n%i==0
    =是赋值符号,==是逻辑判断符号

    评论 编辑记录
  • 南城Flipped 2021-11-26 08:55
    关注

    n%i==0 一个等于是赋值
    for循环后面如果有{}内容要做 for循环后面不要;号
    最后输出yes前加个if(i>sqrt(n))判断 不然 不论怎样都会输出yes

    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月26日
  • 已采纳回答 11月26日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 如何利用闲置机械硬盘变现
  • ¥15 信号处理中的凸优化问题
  • ¥15 arm虚拟机无法和物理机互通
  • ¥15 如何在此代码上增加一个统计学生生源的功能?(语言-c语言)
  • ¥15 Android导航条遮盖异常
  • ¥15 计算机网络技术基础问题
  • ¥15 设置mac系统只能访问指定网站
  • ¥15 西门子博途 s7 1200控制三台步进电机
  • ¥15 基于非参数的方向距离函数求污染物影子价格(有偿)
  • ¥15 vue+element 生成table