搞不懂这个题,#include int isprime(int m) { int i; for(i=2;m%i!=0;i++);return i==m; } main() { int m=5; while(isprime(m)) { printf("yes!%d\n",m); m++; } printf("not!%d\n",m); getch(); }这个题的for语句后为什么会有‘;’号,这是
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 10:34:32
![搞不懂这个题,#include int isprime(int m) { int i; for(i=2;m%i!=0;i++);return i==m; } main() { int m=5; while(isprime(m)) { printf(](/uploads/image/z/10156340-20-0.jpg?t=%E6%90%9E%E4%B8%8D%E6%87%82%E8%BF%99%E4%B8%AA%E9%A2%98%2C%23include+int+isprime%28int+m%29+%7B+int+i%3B+for%28i%3D2%3Bm%25i%21%3D0%3Bi%2B%2B%29%3Breturn+i%3D%3Dm%3B+%7D+main%28%29+%7B+int+m%3D5%3B+while%28isprime%28m%29%29+%7B+printf%28%22yes%21%25d%5Cn%22%2Cm%29%3B+m%2B%2B%3B+%7D+printf%28%22not%21%25d%5Cn%22%2Cm%29%3B+getch%28%29%3B+%7D%E8%BF%99%E4%B8%AA%E9%A2%98%E7%9A%84for%E8%AF%AD%E5%8F%A5%E5%90%8E%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BC%9A%E6%9C%89%E2%80%98%EF%BC%9B%E2%80%99%E5%8F%B7%2C%E8%BF%99%E6%98%AF)
搞不懂这个题,#include int isprime(int m) { int i; for(i=2;m%i!=0;i++);return i==m; } main() { int m=5; while(isprime(m)) { printf("yes!%d\n",m); m++; } printf("not!%d\n",m); getch(); }这个题的for语句后为什么会有‘;’号,这是
搞不懂这个题,
#include
int isprime(int m)
{
int i;
for(i=2;m%i!=0;i++);
return i==m;
}
main()
{
int m=5;
while(isprime(m))
{
printf("yes!%d\n",m);
m++;
}
printf("not!%d\n",m);
getch();
}
这个题的for语句后为什么会有‘;’号,这是我第一次见到,有分号的时候结果是:yes!5 not!6,在没有‘;’的时候结果是:not!5,我是第一次遇到这种题,
还有那后面的return 如果for是个空循环只执行一次,那当m==5的时候在isprime是怎么取得返回值的?
搞不懂这个题,#include int isprime(int m) { int i; for(i=2;m%i!=0;i++);return i==m; } main() { int m=5; while(isprime(m)) { printf("yes!%d\n",m); m++; } printf("not!%d\n",m); getch(); }这个题的for语句后为什么会有‘;’号,这是
楼上两位在说什么啊,简直是在误人子弟.
其实也没有什么,有‘;’号表示该循环没有循环体或者是循环体是空语句什么也不执行(c语言允许空语句),相当于只是i在自增,当m%i!=0为假时退出循环.
第一次调用int isprime(int m)时,m=5,循环for(i=2;m%i!=0;i++)退出时,i=5;则函数返回1(i==m值是1).while(isprime(m))条件为真执行输出yes!5.m++,m=6.
第二次调用int isprime(int m)时,m=6,循环for(i=2;m%i!=0;i++)退出时,i=2;则函数返回0(i==m值是0).while(isprime(m))条件为假则退出循环.执行输出not!6.
若没有分号,则:第一次调用int isprime(int m)时,m=5,执行循环体return i==m 时返回0(因为此时i=2),结束函数调用.while(isprime(m))条件为假则退出循环.执行输出not!5.