0~9的点阵字-封装函数

这个看起来有点困难,萌新建议不要看,拿去问大佬。

运行即可看到结果,建议选学好指针和指针数组和数组指针后再回来看。

包括函数的两种传值方式,左值和又值。

两种使用方法都在main里写了,建议先运行看效果。

#include <stdio.h>
#include <windows.h>

/*    char *bb[9]={NULL};
    char *(*cc)[9]=NULL;
    
    fonts(0,bb);
    cc=(char *(*)[9])fonts(0,bb);    */
char ** fonts(int i,char** ch){
    switch(i){
        case 0:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="*   *";
            ch[3]="     ";
            ch[4]="*   *";
            ch[5]="     ";
            ch[6]="*   *";
            ch[7]="     ";
            ch[8]="*****";
            break;
        case 1:
            ch[0]="*    ";
            ch[1]="     ";
            ch[2]="*    ";
            ch[3]="     ";
            ch[4]="*    ";
            ch[5]="     ";
            ch[6]="*    ";
            ch[7]="     ";
            ch[8]="*    ";
            break;
        case 2:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="    *";
            ch[3]="     ";
            ch[4]="*****";
            ch[5]="     ";
            ch[6]="*    ";
            ch[7]="     ";
            ch[8]="*****";
            break;
        case 3:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="    *";
            ch[3]="     ";
            ch[4]="*****";
            ch[5]="     ";
            ch[6]="    *";
            ch[7]="     ";
            ch[8]="*****";
            break;
        case 4:
            ch[0]="*   *";
            ch[1]="     ";
            ch[2]="*   *";
            ch[3]="     ";
            ch[4]="*****";
            ch[5]="     ";
            ch[6]="    *";
            ch[7]="     ";
            ch[8]="    *";
            break;
        case 5:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="*    ";
            ch[3]="     ";
            ch[4]="*****";
            ch[5]="     ";
            ch[6]="    *";
            ch[7]="     ";
            ch[8]="*****";
            break;
        case 6:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="*    ";
            ch[3]="     ";
            ch[4]="*****";
            ch[5]="     ";
            ch[6]="*   *";
            ch[7]="     ";
            ch[8]="*****";
            break;
        case 7:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="    *";
            ch[3]="     ";
            ch[4]="    *";
            ch[5]="     ";
            ch[6]="    *";
            ch[7]="     ";
            ch[8]="    *";
            break;
        case 8:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="*   *";
            ch[3]="     ";
            ch[4]="*****";
            ch[5]="     ";
            ch[6]="*   *";
            ch[7]="     ";
            ch[8]="*****";
            break;
        case 9:
            ch[0]="*****";
            ch[1]="     ";
            ch[2]="*   *";
            ch[3]="     ";
            ch[4]="*****";
            ch[5]="     ";
            ch[6]="    *";
            ch[7]="     ";
            ch[8]="*****";
            break;
    }
    return ch;
} 
int main(void){
    char *bb[9]={NULL};
    char *(*cc)[9]=NULL;
    
    fonts(0,bb);
    cc=(char *(*)[9])fonts(0,bb);
    
    for(int i=0;i<9;i++){
        printf("bb=%s\n",bb[i]);
    } 
    for(int i=0;i<9;i++){
        printf("cc=%s\n",(*cc)[i]);
    } 
} 

 

posted @ 2020-05-13 16:27  『PTA00』  阅读(237)  评论(0编辑  收藏  举报