[C]分别用函数和带参的宏,求3个数中的最大值
//带参宏求3个数的最大值 #include <stdio.h> #define MAX(a, b, c) (a>b?a:b)>c?(a>b?a:b):c int main() { int a, b, c; puts("input three numbers, use space to seperate each other:"); scanf("%d%d%d", &a, &b, &c); printf("%d\n", MAX(a,b,c)); return 0; }
//用函数求三个数的最大值 #include <stdio.h> int MAX(int a, int b, int c); //函数声明 int main() { int a, b, c; puts("input three numbers, use space to seperate each other:"); scanf("%d%d%d", &a, &b, &c); printf("%d\n", MAX(a,b,c)); return 0; } int MAX(int a, int b, int c) { int max; if (a > b) max = a; else max = b; if (c > max) max = c; return max; }
//以上两个方法合起来,投机取巧地采用函数求三个数的最大值 #include <stdio.h> int MAX(int a, int b, int c); //函数声明 int main() { int a, b, c; puts("input three numbers, use space to seperate each other:"); scanf("%d%d%d", &a, &b, &c); printf("%d\n", MAX(a,b,c)); return 0; } int MAX(int a, int b, int c) { return (a>b?a:b)>c?(a>b?a:b):c; }