一个奇怪的循环

williamvv1 2008-04-03 09:03:49
以下是关于CC2430单片机编程例子里的一个delay函数。本人不大懂

void Delay(unsigned char n)
{
unsigned char i;
unsigned int j;
for(i = 0; i < n; i++)
for(j = 1; j; j++)
;
}

其中问题1.为什么i要定义char型,而不定义int型?
问题2.为什么下面的j没有约束,如j<n之类的,如果这样,它是如何判定何时跳出循环的 ?

请各位大哥帮帮忙!谢谢!
...全文
56 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
williamvv1 2008-04-04
  • 打赏
  • 举报
回复
非常感谢!
智能卡_Snooper 2008-04-04
  • 打赏
  • 举报
回复
n是unsigned char
cnzdgs 2008-04-03
  • 打赏
  • 举报
回复
1、因为i要与n比较,n是unsigned char型,i也要是相同类型才方便,不然还要强制类型转换太麻烦。
2、只写一个j就相当于写成j!=0。
发帖
汇编语言

2.1w+

社区成员

汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
帖子事件
创建了帖子
2008-04-03 09:03
社区公告
暂无公告