I am doing a program exercise form c a modern approach chapter 5. I resolved the program to work but then have been playing with it, introduced error checking etc.

My question is can one if result in two assignments?
This is my code.
Code:
#include <stdio.h>

int main(void){
    
    int hour, min, myhour;
    char * postfix;


    printf("Print the time in 24hour format: ");
    scanf("%d:%d", &hour, &min);
    
    if ((hour < 25 && hour > 0) && (min < 61 && min > 0 )){
            if (hour > 12)
                myhour = (hour - 12) && postfix = "PM";
            else
                myhour = hour && postfix = "AM";


            printf("The time is %.2d:%.2d %s \n", myhour, min, postfix);
            }
            
            else 
                printf("Your input was invalid \n");


            


            
    return 0;
}
Basically the purpose is to convert 24 hour time to 12 hour time. I introduced
Code:
if ((hour < 25 && hour > 0) && (min < 61 && min > 0 ))
to make sure my input was valid.

But see my if subsequent to that I want to say if hours is greater than 12 minus 12 from the hours given and assign to myhour variable and assign "PM" to my postfix variable. It's not working I am getting an lvalue error.