my code is not running please find the flaw in my code
#include
using namespace std;
int clearbit(int n,int i)
{
int mask=~(1<<i);
return (n&mask);
}
int main ()
{
int n,value,i;
cin>>n>>value>>i;
int no=clearbit(n,i);
int mask=(value<<i);
cout<<(no|mask);
}