SWJ。 发表于 2018-4-9 21:11:23

如图,为什么我单步调试,return就相当于break直接跳出循环了?我认为不应该是返回...

原程序代码如下:想实现判断输入的数是否为素数。
#include <stdio.h>
void main()
{
        int a,n;

        printf("please input a number:\n");
        scanf("%d",&a);
        if(a==1||a==2)
        {
                printf("%d为素数。\n",a);
        }
        else if(a>2)
        {

                for(n=2;n<a;n++)
                {
                        if(a%n!=0)
                          return;
                       
                        else if(a%n==0)
                        {
                                printf("%d为素数。\n",a);
                                break;
                  }
          }
        }
}

BngThea 发表于 2018-4-9 21:22:46

return不单是跳出循环,而且是结束整个函数

sherlock、 发表于 2018-4-9 23:14:06

return 是退出整个程序, 你得去复习一下continue, break, return的用法

风扫地 发表于 2018-4-10 17:09:20


continue :结束本次循环,进入下一次循环判断
break: 跳出本层循环
return:跳出本函数
页: [1]
查看完整版本: 如图,为什么我单步调试,return就相当于break直接跳出循环了?我认为不应该是返回...