实际参数:真实传递的参数(可以是值也可以是表达式——函数或运算式)
形式参数:函数名后的参数变量(只有在函数调用时才有存储空间,没有被调用时就无意义)
当实参传给形式参数时,形参时实参的临时拷贝因此对实参的修改不影响形参。
调用函数:
1·传值调用:形参和实参的内存块不同
2·传址调用:将外部函数参数的地址传递给形参
使用for语句时不可以出现两个比较的情况如下:
#include<stdlib.h>
#include<math.h>
int is_prime(int n)
{
int j = 0;
for (j = 2; j < n; j++)
{
if (n % j == 0)
return 0;
}
return 1;
}
int main()
{
int i = 0;
for (i > 100; i < 200; i++)
{
if (is_prime(i) == 1)
{
printf("%d ", i);
}
}
}
此时的for并没有执行i>100
用自定义函数判断素数正确写法
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int is_prime(int n)
{
int j = 0;
for (j = 2; j < n; j++)
{
if (n % j == 0)
return 0;
}
return 1;
}
int main()
{
int i = 0;
for (i = 100; i < 200; i++)
{
if (is_prime(i) == 1)
{
printf("%d ", i);
}
}
}
使用sqrt(n)后
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int is_prime(int n)
{
int j = 0;
for (j = 2; j <=sqrt(n); j++)
{
if (n % j == 0)
return 0;
}
return 1;
}
int main()
{
int i = 0;
for (i = 100; i < 200; i++)
{
if (is_prime(i) == 1)
{
printf("%d ", i);
}
}
}
自定义函数判断闰年
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int is_leap_year(int y)
{
if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
{
return 1;
}
return 0;
}
int main()
{
int year;
for (year = 2000; year < 3000; year++)
{
if (is_leap_year(year)==1)
{
printf("%d ", year);
}
}
return 0;//注意不能将这个放在for循环中
}