为什么当小时数大于12时换算出的小时数永远为12

12-24小时制转换
为什么当小时数大于12时换算出的小时数永远为12

#include
int main()
{
int hour1,min1;
scanf("%d:%d",&hour1,&min1);
if(hour1<12){
printf("%d:%d AM",hour1,min1);
}
else if(hour1=12){
printf("12:%d PM",min1);
}
else{
printf("%d:%d PM",hour1-12,min1);
}

return 0;

}

img

img

else if(hour1=12){
改为
else if(hour1==12){
==========================
==才是判断相等,你写成了赋值,导致hour1值变为12,else if条件成立,所以一直输出12