5-1 while(
)
;
【示例】程序段
#define N 5
int i=1,s=0;
while(i<=N);
{
s=s+i;
i++;
}
printf("%d",s);
对于这样的问题,编译时系统不会给出语法错误和警告,编译能顺利通过,
但执行时出现“无限循环”。
出现“无限循环”的原因是:系统将“;”作为了循环体,而将“真正的循
环体”作为了一个复合语句。在执行时,由于循环体只有一条空语句,没有修过
i的值的操作,所以表达式i<=N永远成立,因此,执行时出现“无限循环”。
在书写程序代码时,应避免类似错误的发生,这类逻辑错误一旦发生,对经
验少的初学者来说很难发现。
多加了分号
评论0
最新资源