牛肉我刚开始 发表于 2022-3-31 22:54:39

这两个break的位置不同分别是什么意思呢?第一种能理清思路,第二种能帮我理一下吗?

#include <stdio.h>
#define PI 3.1415926
void main()
{
        int r;
        double s;
        for(r=1;r<=1000;r++)
        {
        s=PI*r*r;
        if(s>=100)break;
                printf("%.2lf\n",s);
        }
        printf("%d",r);
}


#include <stdio.h>
#define PI 3.1415926
void main()
{
        int r;
        double s;
        for(r=1;r<=1000;r++)
        {
        s=PI*r*r;
        if(s>=100)
                printf("%.2lf\n",s);break;
        }
        printf("%d",r);
}

大马强 发表于 2022-3-31 23:12:27

第一个等价于
if(s>=100)
{
        break;
         
}      
printf("%.2lf\n",s);

而第二个等价于
if(s>=100)
      {
                printf("%.2lf\n",s);
            }
            break;
循环一次就会跳出,所以r=1

牛肉我刚开始 发表于 2022-4-1 07:25:34

大马强 发表于 2022-3-31 23:12
第一个等价于




懂了,谢谢,谢谢!
页: [1]
查看完整版本: 这两个break的位置不同分别是什么意思呢?第一种能理清思路,第二种能帮我理一下吗?