(6)函数调用
1.形参的修改不会影响实参
2.例子
(1) 判断一个数是否是素数
确定概念:即只能被1或者自身整除的自然数(不包括1),称为素数/质数。
int isPrime(int n) {
// 即只能被1或者自身整除的自然数(不包括1),称为素数/质数。
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return n == 1 ? 0 : 1;
}
(2)判断一个年份是否是闰年
闰年的判断条件:1、年份能被4整除,不能被100整除;2、年份能被400整除
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1;
}
return 0;
}
(3)打印1~100之间所有素数
int isPrime(int n) {
// 即只能被1或者自身整除的自然数(不包括1),称为素数/质数。
//for (int i = 2; i < n; i++) {
for (int i = 2; i <= n/2; i++) {
if (n % i == 0) {
return 0;
}
}
return n == 1 ? 0 : 1;
}
#include <stdio.h>
int main() {
for (int i = 1; i <= 100; i++) {
if (isPrime(i)) {
printf("%d\n", i);
}
}
}
(7)函数的嵌套调用和链式访问
函数中可以调用其他函数
链式访问:把一个函数的返回值作为另外一个函数的参数
#include <string.h>
#include <stdio.h>
int main() {
int len = strlen("Hello");
printf("%d",len);
// 链式访问
printf("%d",strlen("Hello"));
}
(8)函数的声明和定义
函数的声明:函数声明要放到头文件中;要先声明后使用
函数的定义:函数的定义是指函数的具体实现,交待函数的功能实现
。
若函数的定义放在主函数前面,可以不用进行函数的声明
函数的声明一定要放在使用之前。可以在文件最开始之处声明,也可以在函数中进行声明,在函数
中声明的其它函数,只能在该函数中使用。
#include <stdio.h>
// 函数声明
int add(int,int);
int main() {
int a = 0;
int b = 0;
scanf("%d %d",&a, &b);
// 加法,函数调用
int sum = add(a,b);
printf("%d",sum);
return 0;
}
// 函数的定义
int add(int a, int b) {
return a + b;
}