int main()
{
double lk;
for (lk=0;getchar()!=EOF;++lk)
;
printf("%.0f\n",lk);
return 0;
}
/* --------------------------------------------------------------------- */
int main()
{
float fareng;
for (fareng=0;fareng<=300;fareng=fareng+20)
printf("%6.1f\t%13.1f\n",fareng,(5.0/9.0)*(fareng-32.0));
return 0;
}
我有问题为什么在第一个代码中需要null语句而第二个不需要?我理解什么是null语句但是这两个代码的区别在于不需要第二个空语句?谢谢你的回答。
答案 0 :(得分:0)
for
循环必须有一个正文,一个它执行的语句。如果没有声明,就无法创建循环。
在第一个循环中,该语句是空语句。
在第二个循环中,该语句是printf
调用语句。
第一段代码可以改写为
double lk;
for (lk=0;getchar()!=EOF;++lk)
{
// Empty
}
printf("%.0f\n",lk);
第二段代码可以改写为
float fareng;
for (fareng=0;fareng<=300;fareng=fareng+20)
{
printf("%6.1f\t%13.1f\n",fareng,(5.0/9.0)*(fareng-32.0));
}