C语言设计

第41章


【例 10.32】本程序是通过指针函数,输入一个 1~7 之间的整数,输出对应的星期名。
main(){
  int i;
  char *day_name(int n);
  printf("input Day No: ");
  scanf("%d",&i);
  if(i%s ",i,day_name(i));
}
char *day_name(int n){
  static char *name[]={ "Illegal day",
                        "Monday",
                        "Tuesday",
                        "Wednesday",
                        "Thursday",
                        "Friday",
                        "Saturday",
                        "Sunday"};
  return((n7) ? name[0] : name[n]);
}
本例中定义了一个指针型函数 day_name,它的返回值指向一个字符串。该函数中定义
了一个静态指针数组 name。name 数组初始化赋值为八个字符串,分别表示各个星期名及出
错提示。形参 n 表示与星期名所对应的整数。在主函数中,把输入的整数 i 作为实参,在
printf 语句中调用 day_name 函数并把 i 值传送给形参 n。day_name 函数中的 return 语句
包含一个条件表达式,n 值若大于 7 或小于 1 则把 name[0]指针返回主函数输出出错提示字
符串“Illegal day”。否则返回主函数输出对应的星期名。主函数中的第 7 行是个条件语句,
其语义是,如输入为负数(i%s ",i,ps);
}
char *day_name(char *name[],int n)
{
  char *pp1,*pp2;
  pp1=*name;
  pp2=*(name+n);
  return((n7)?
小说推荐
返回首页返回目录