n<m有意义吗。

来源:4-14 结束语句之break语句

郭兰

2020-12-18 15:35

即使删掉n<m,程序也能正常运行。而且,依据素数的条件,n与m同时自增的情况下不应该一直相等吗

写回答 关注

3回答

  • 暮雪忆
    2020-12-20 17:36:09

    n<m有意义。

    n<m的意义在于规定了for循环跳出的条件。

    程序也能运行成功是因为:

    for循环里有一个if语句,只有满足了if语句里的条件时,才会执行。换言之,满足不了则不执行,而是执行n<m,继续判断if语句里的条件。之后n加一。继续执n<m等等。

    如果把n<m删去,就变成了for(n=2;;n++),一般的话它因该是一个死循环,但是这个for循环下是一个if语句,当n<m时,满足条件的是像4,6,8,9,10这些有别的因数的数.

    当n>=m,即n>=50时,m除50外永远不可能整除n,所以就不会执行if语句;

    我猜想计算机自动跳出了,去判断n==m.

    有的软件版本也许不能够跳出,严谨的话就加上。


  • 暮雪忆
    2020-12-20 16:21:37

    n与m没有同时自增。

    m增加一,下面for循环一次。下面for循环时n不止增加了一次。

  • 若翼6153757
    2020-12-19 17:12:55

    不是吧

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926019 学习 · 20793 问题

查看课程

相似问题