指針型函數

#include<stdio.h>
main()
{
      static char *name[]={"illegal day","Monday","Thuesday","Wednesday",
     "Thursday","Friday","Saturday","Sunday"};
      int i;
      char *ps;
      char *day_name(char *name[],int n);
//指針型函數的聲明,所謂指針型函數是:函數返回是值是一個指針(即地址)。
      printf("input day no:/n");
      scanf("%d",&i);
      if(i<0) exit(1);
      //day_name(name,i);
      ps=day_name(name,i);
/*聲明瞭指針的變量,並將指針型的函數直接賦給該變量,因爲指針型函數返回的是指針
(地址),所以可直接賦值,如果申明的不是指針變量,那麼需要加“&”符號表示取地址
進行賦值。輸出返回值的結果,只要指針變量即可,*/
      printf("day no:%2d-->%s/n",i,ps);
      getch();
      return 0;
}
char *day_name(char *name[],int n)
{
     static char *p1,*p2;
     p1=*name;
     p2=*(name+n);
     return((n<1||n>7)?p1:p2);
    
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章