Keil编译时提示“main.c(16): error C129: missing ‘;’ before ‘num’” 折腾了很久才知道是前面的“typedef unsigned char u8;”语句把“typedef”漏掉了,而错误提示中的行号16正是程序第一次用到“u8”的那一行。这里虽然提示缺少分号,但实际上与分号没关系,需注意。