求助,我是个初学者,下面这个c语言程序能人帮我解释下,谢谢
#include <stdio.h>#define T(c) (((c) >= '0') && ((c) <= '9') ? (c) - '0' : -1)
void f1(char ch)
{
switch(ch){
case '0': printf("0");
case '1': printf("1");
case '2': printf("2");break;
case '3': printf("3");
default: printf("9");
}
printf("\n");
}
double f2()
{
return (double)(5/2);
}
double f3(int n)
{
if(n == 1) return 1.0;
else return 1.0 + 1.0/f3(n-1);
}
main()
{
printf("%d %d\n", T('7'), T('a'));
f1('1');
printf("%.1f\n", f2());
printf("%.3f\n", f3(4));
}
这程序看不懂谁能解释一下