为什么老是输出第一个数


#include <iostream>
#include<iomanip>
using namespace std;
int fun(int a,int b)
{
     for(int n=a;n<=b&&n>=a;n++)
      {int c,d;
    
        for(c=2;c<n;c++)
             {d=n/c;
             if (d/d*d!=1)
              {
              cout<<setw(4)<<n;      
            return n ;  }
} 

}
} 
int main()
{int a,b,c,d;
    cin>>a,b;
    cout<<fun(a,b);
    return 0 ;
}

首先第22行应该是cin>>a>>b;
其次第11和12行确定是你要的功能么?d=n/c中,n/c是整除关系。
而d/d*d这个表达式就更奇怪了,d/d是1吧,那你不就是要求d!=1吗?为何要这么写呢?你的题目要求到底是什么样的呢?

第22行改为: cin>>a>>b;