#define MIN(a,b) a>=b? b:a//定义类宏函数,宏函数的定义和使用
//定义EVEN_GT(X, Y)宏,如果X为偶数且大于Y,该宏返回1
#define EVEN_GT(X, Y) (X%2 == 0 && X>Y)?1:0
//自定义输出函数
#include<stdio.h>
void putstring(const char *string)
{
while (*string != ‘\0’)
{
putchar(*string++);
}
putchar(’ ‘);
// putchar(’\n’);
}
//自定义输入字符串函数
/* 此函数的参数不能为char类型的指针,
因为声明了一个char类型的指针变量以后只会为该变量分配一个随机地址值,
不会为其分配其他的内存空间,而数组就不同,还要为其分配存储内容的空间 */
void getstring(char *str)
{
// int i = 0;
// str[i] = getchar();
// for (i = 0; i < n,str[i] != ‘\n’;i++)
// {
// str[i] = getchar();
// }
while ((*str = getchar()) != ‘\n’)
str++;
*str = ‘\0’;
}
//自定义连接字符串函数
char * connect(charstr1,charstr2)
{
while(*str1 != ‘\0’)
str1++;
while(*str2 != ‘\0’)
{
// *str1++ = *str2++;
*str1 = *str2;
str1++;
str2++;
}
*str1 = ‘\0’;
return str1;
}
//strlen()函数接受一个指向字符串的指针作为参数,并返回该字符串的长度,不包含空字符。请编写一个这样的函数
int length(char *str)
{
int len = 0;
while (*str++ != ‘\0’)
len++;
return len;
}
// 递归计算斐波那契数列问题
int fb(int n)
{
if (n <= 2)
{
return 1;
}
else
{
return fb(n-1) + fb(n-2);
}
}