小马同学要努力△ 2022-08-26 22:11 采纳率: 77.3%
浏览 50
已结题

C语言嵌套循环for

 我前后把isprime的赋值放在for循环内和开头,发现输出结果不同。尤其是在开头赋值,输出结果仅有23。请问这是什么原因?

(顺变问下vs有没有好的排版插件,我有强迫症每次自己调就很浪费时间)

img

img


img

img

  • 写回答

4条回答 默认 最新

  • 亖夕 Python领域新星创作者 2022-08-26 22:44
    关注

    这两个的不同之处在于
    当isprime的初始化放在开头时,isprime为全局变量,那么只有到程序结束isprime才会被释放,也就是说在整个程序运行时,isprime的变化是”累加“的,比如isprime先是为1,后改变为0,如果不在改变isprime的值那么isprime在整个程序运行时都不会改变。所以只能输出2和3
    =====
    当isprime放在for循环中时,每一次的循环都会将isprime初始化为1,那么即使后续没有改变isprime的语句,在下一次循环进行时isprime的值都会被重置为1,那么就可以输出其他不同结果

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 创建了问题 8月26日

悬赏问题

  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。