函数是结构化编程语言中最重要的组成部分,模块独立化的基本单位。
函数的声明:
# include <stdio.h>
void f(void); //函数的声明,即声明f是一个函数。
void g(void);
void f(void)
{
printf("哈哈!\n");
printf("哈哈!\n");
printf("哈哈!\n");
}
int main(void)
{
f();
f();
g();
return 0;
}
void g(void)
{
printf("嘿嘿!\n");
}
函数的返回值类型:
# include <stdio.h>
int f(void)
{
return 10.5; //因为函数返回值类型为int,将会返回整型10,而不是10.5。即如果函数返回值的类型与定义类型不同,则以函数名前的定义类型为准。
}
int main(void)
{
double x = 1.314;
x = f();
printf("%lf\n", x);
return 0;
}
函数示例:
# include <stdio.h>
void max1(int i, int j) //max是函数名,int是形参类型,i和j是形式参数(形参),以接收实参传值void表示函数没有返回值。
{
if (i > j)
printf("%d\n", i);
else
printf("%d\n", j);
}
//换一种写法:
int max2(int i, int j)
{
if (i > j)
return i;
else
return j;
}
int main(void) //int代表函数返回值的类型,main是函数名,void代表此函数不接收任何值。
{
int a, b, c, d, e, f;
int i;
a = 3;
b = 5;
c = 12;
d = 20;
e = 128;
f = 1314;
max1(a, b); //max是引用max1函数,括号内的a,b是实参,将a,b的值发送给max1函数的形参,实参形参一一对应。
max1(c, d);
max1(e, f);
//对max2进行调用:
i = max2(a, b); //赋值法
printf("%d", i);
printf("%d", max2(c, d)); //直接输出法
printf("%d", max2(e, f));
//附加:
printf("时间:2013年1月4日\n你若不离不弃,我必生死相依~\n");
return 0;
}
函数的值:
# include <stdio.h>
int f(void)
{
return 10; //将返回值10返回给主调函数main函数,并赋值给i。
}
int main(void)
{
int i;
i = f();
printf("%d\n", i);
return 0;
}
判断一个数是否为素数:
# include <stdio.h>
bool IsPrime(int val)
{
int i;
for (i=2; i<val; i++)
{
if (val%i == 0)
break;
}
if (i == val)
return true;
else
return false;
}
int main(void)
{
int val;
printf("请输入需要判断的数:");
scanf("%d", &val);
if (IsPrime(val)) //IsPrime函数的值为布尔型,即true或false。
printf("此数是素数!\n");
else
printf("此数不是素数!\n");
return 0;
}