版权声明:吴亚彪 https://blog.csdn.net/weixin_44288260/article/details/86498020
while中使用return
int main(void)
{
while(1)
{
return 0;
printf("hello\n");
printf("word\n");
}
}
回调函数
void PrintfText()
{
printf("Hello World!\n");
}
//定义实现回调函数的"调用函数" 调用者
void CallPrintfText(void (*callfuct)())
{
callfuct();
}
//实现函数回调
int main(int argc,char* argv[])
{
int a;
scanf("%d",&a);
while(a--)
CallPrintfText(PrintfText);
return 0;
}
case后不加break
int a;
scanf("%d",&a);
switch(a)
{
case 0 :
printf("case 0\n");
break;
case 1:
printf("case 1\n");
case 2:
printf("case 2\t");
break;
default:
printf("case default");
break;
}
此时如果输入a=1;
会输出case1,case2,直到遇到break
函数指针数组
typedef void(*FP)(u8,u16);
FP fp_arry[3]={show_voltage_number,show_current_number,show_charge_number};
(*fp_arry[0])(6,7);//使用show_voltage_number函数,传递参数6,7
结构体数组
typedef void (*FP)(void);
typedef struct
{
u8 key_state_index;
u8 key_down_state;
u8 key_up_state;
u8 key_cr_state;
u8 key_back_state;
FP current_op;
}KEY_STR;
KEY_STR key_tab[KEY_NUM] =
{
{0,0,0,1,0,lcd_pic},
{1,2,7,8,0,lcd_pic1},
{2,3,1,9,0,lcd_pic2},
{3,4,2,10,0,lcd_pic3},
{4,5,3,11,0,lcd_pic4},
{5,6,4,12,0,lcd_pic5},
{6,7,5,13,0,lcd_pic6},
{7,1,6,14,0,lcd_pic7},
{8,8,8,8,1,lcd_pic8},
{9,9,9,9,2,lcd_pic9},
{10,10,10,10,3,lcd_pic10},
{11,11,11,11,4,lcd_pic11},
{12,12,12,12,5,lcd_pic12},
{13,13,13,13,6,lcd_pic13},
{14,14,14,14,7,lcd_pic14},
};