Nico_the_chosen 2022-10-16 17:05 采纳率: 100%
浏览 142
已结题

c语言for循环内外定义变量有啥区别?

img


这是把变量isPrime放for循环外

img


只能打印出2、3(错了)
这是isPrime放里面就能成功,求问各位为啥捏

img

img

  • 写回答

7条回答 默认 最新

  • qfl_sdu 2022-10-16 17:20
    关注

    作用范围不一样,变量的作用范围仅仅限定在声明该变量的{}内。所以,如果变量声明在for循环外面,其作用范围就是整个main函数,如果声明在第一层for循环内,作用范围就限定在for循环中,如果声明在第二层for循环内,那么其作用范围就限定在第二层for循环内。
    你的代码错误是因为,每次for循环都需要把isPrime 重置为1,如下:

    img

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

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月16日