chenshandeng 发表于 2022-11-8 18:50 怎样写可以提示一下吗 |
hgig 发表于 2022-11-9 08:35 怎样写?可以提示一下吗? |
这个写法是对的,也可以考虑在左移右移函数加一个传参,参数为移动的位数,可以让主函数变得简洁一些 |
188610329 发表于 2022-11-8 20:25 显然你不懂C99标准,C语言都是跟谁学的? 同样是Keil界面,C51是不支持C99标准的,而RealView MDK是支持C99的。 在支持C99的编译器上,变量可以随用随定义,楼主的写法是正确的。而C51这样不支持C99的编译器变量定义必须在所有实际执行语句之前,而while属于实际执行语句,楼主的写法显然是错误的。 |
从写法对错来讲, unsigned char 的声明,不能放在 while(1) 里面,而应该在 void main的开始处。 从循环的其他写法来讲。 void main() { char i; i=0; while(1) { for(;i<8;i++) { L_led(); } for(;i>0;i--) { R_led(); } } } 是一种取巧写法、同样,也可以 用while,可自行摸索。 |
这样写是对的,也可以用while循环 |
8次是对的。至于左移右移没有代码无法判断。 |