例218:计算平均值的函数
#include <stdio.h>
float average_value(int a, int b, int c)
{
return ((a + b + c) / 3.0);
}
int main(int argc, char const *argv[])
{
printf("The average of 100, 133, and 155 is %f\n",
average_value(100, 133, 155));
return 0;
}
例219:打印变量地址
#include <stdio.h>
int main(int argc, char const *argv[])
{
int a = 1, b = 2, c = 3;
printf("The address of a is %x the value of a is %d\n", &a, a);
printf("The address of b is %x the value of b is %d\n", &b, b);
printf("The address of c is %x the value of c id %d\n", &c, c);
return 0;
}
例220:递归实现斐波那契数列
#include <stdio.h>
int factorial(int value)
{
printf("In factorial with the value %d\n", value);
if (value == 1)
{
printf("Returning the value 1\n");
return(1);
}
else
{
printf("Returning %d * factorial(%d)\n", value, value-1);
return(value * factorial(value-1));
}
}
int main(int argc, char const *argv[])
{
printf("The factorial of 4 is %d\n", factorial(4));
return 0;
}
例221:定义函数计算字符串长度
#include <stdio.h>
int strlen(char str[])
{
int i = 0;
while (str[i] != NULL)
i++;
return(i);
}
int main(int argc, char const *argv[])
{
printf("Length of ABC is %d\n", strlen("ABC"));
printf("Length of 1001 C/C++ Tips is %d\n",
strlen("1001 C/C++ Tips"));
printf("Length of a NULL string is %d\n", strlen(""));
return 0;
}
例222:定义函数输出Hello World
#include <stdio.h>
void three_hellos(void)
{
int counter;
for (counter = 1; counter <= 3; counter++)
printf("Hello, world!\n");
}
int main(int argc, char const *argv[])
{
three_hellos();
return 0;
}
例223:静态变量的生存期
#include <stdio.h>
void print_reportcard(int printer_number)
{
static int student_id = 100;
printf("Printing report card for student %d\n", student_id);
student_id++;
}
int main(int argc, char const *argv[])
{
print_reportcard(1);
print_reportcard(1);
print_reportcard(1);
return 0;
}
例224:使用函数参数控制输出次数
#include <stdio.h>
void beeper(int beep_count)
{
int count;
for (count = 1; count <= beep_count; count++)
// 这里的7是ASCII码值
putchar(7);
}
int main(int argc, char const *argv[])
{
int count;
for (count = 1; count <= 3; count++)
{
printf("About to beep %d times\n", count);
beeper(count);
}
return 0;
}
例225:使用函数输出Hello World
#include <stdio.h>
void hello_world(void)
{
printf("Hello, world!\n");
}
int main(int argc, char const *argv[])
{
hello_world();
return 0;
}
例226:使用函数找到最大值(个人实现)
#include <stdio.h>
int get_maximum(int, int);
int main(int argc, char const *argv[])
{
int result;
result = get_maximum(100, 200);
printf("The larger value is %d\n", result);
return 0;
}
例227:使用函数交换两个变量的值
#include <stdio.h>
void swap_values(int *, int *);
int main(int argc, char const *argv[])
{
int a = 1, b = 2;
printf("Original values a %d b %d\n", a, b);
swap_values(a, b);
printf("Swapped values a %d b %d\n", a, b);
return 0;
}
例228:使用指针来操作变量
#include <stdio.h>
int main(int argc, char const *argv[])
{
int a = 1, b = 2;
int *i_pointer;
i_pointer = &a;
*i_pointer = 5;
printf("Value pointed to by i_pointer is %d the variable a is %d\n", *i_pointer, a);
b = *i_pointer;
printf("Value of b is %d\n", b);
printf("Value of i_pointer %x\n", i_pointer);
return 0;
}
例229:通过函数调用函数
#include <stdio.h>
void hello_world(void)
{
printf("Hello, world!\n");
}
void hello_count(int message_count)
{
int counter;
for (counter = 1; counter <= message_count; counter++)
hello_world();
}
int main(int argc, char const *argv[])
{
printf("Display the message twice\n");
hello_count(2);
printf("Display the message five times\n");
hello_count(5);
return 0;
}
例230:函数的声明和定义
#include <stdio.h>
// 计算整型的立方
int i_cube(int);
// 计算浮点型的立方
float f_cube(float);
int main(int argc, char const *argv[])
{
printf("The cube of 3 is %d\n", i_cube(3));
printf("The cube of 3.7 is %f\n", f_cube(3.7));
return 0;
}
int i_cube(int value)
{
return(value * value * value);
}
float f_cube(float value)
{
return(value * value * value);
}