scanf后面能加\n吗

我是初学者 想问一下为什么这两个代码都能跑起来 但是第一个却不能正常的工作 第二个可以呢?这个\n是不能放在scanf后面吗

int main() {
int input = 0;
printf("加入大学\n");
printf("你要好好学习吗?(1/0)>:");
scanf("%d\n",&input);
if (input == 1)
printf("好offer\n");
else
printf("卖红薯\n");
return 0;
}

int main() {
int input = 0;
printf("加入大学\n");
printf("你要好好学习吗?(1/0)>:");
scanf("%d",&input);
if (input == 1)
printf("好offer\n");
else
printf("卖红薯\n");
return 0;
}

第一个代码就是能跑但是输入1或0得不到结果

scanf中除了格式字符%d这种的要原样输入,所以输完1或者0后,还要输入\n(因为%d后有),接着还需要一个\n用来结束输入,所以输完数字后需要两个回车