#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); } }
|