C语言 输入一个整数a,二进制a从右侧第i个数开始,将连续的k个数换为1,而不改变其他的数

输入一个整数a,二进制a从右侧第i个数开始,将连续的k个数换为1,而不改变其他的数
比如00010000 i=3 k=2
输出为00011100

#include <stdio.h>
int main()
{
      int a;
      scanf("%d",&a);
      int i;
      scanf("%d",&i);
      for(int j=0;j<i;j++)
      {
          int k = 1;
          k = k<<j;
          a = a | k;
      }
      printf("%d",a);
      return 0;
}