n<m和后面的n=m不是冲突了吗?
for(n=2; n<m; n++)这里明明讲明n<m那为何还会有后面的if(n=m)? 我知道n=m是说素数中的他自身,但是想不懂为何写了n <m后还会有n=m
for(n=2; n<m; n++)这里明明讲明n<m那为何还会有后面的if(n=m)? 我知道n=m是说素数中的他自身,但是想不懂为何写了n <m后还会有n=m
2020-12-05
(1)n<m是判断语句,判断n是不是小于m;;n=m表示把m的赋予给n。你那 if 后面应该是判断语句(n==m),判断n是不是等于于m,如果n等于m,则执行if下面{ }里的程序语句;否则不执行if后面{ }里的程序语句。
(2)知识点:
1,在c语言里面:“=”代表赋值,把等号后面的值赋予给等号前面,“==”代表判断是否相等。
2,for循环中:for(表达式1;表达式2;表达式3)
第一步:执行表达式1,对循环变量做初始化;第二步:判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;第三步:执行表达式3;第四步:执行for循环中执行代码块后执行第二步;第五步:循环结束,程序继续向下执行。
3,程序是按一定顺序运行,如果出现多个赋值运算,以简单的顺序运算举例:
m=12;
n=m; //第一次赋值
......
n=20; //第二次赋值
......
在第一次赋值之后,第二次赋值之前,n的值为m赋予的值12;第二次赋值后,n的值变为20。
举报