/* signed_char_300.c -- a conversion whose result C leaves to the compiler.
   300 does not fit in a signed char, and C17 6.3.1.3 says the result is
   implementation-defined, or an implementation-defined signal is raised. */
#include <stdio.h>

int main(void)
{
    int three_hundred = 300;
    int minus_three_hundred = -300;
    printf("(signed char)300  -> %d\n", (signed char)three_hundred);
    printf("(signed char)-300 -> %d\n", (signed char)minus_three_hundred);
    printf("(signed char)200  -> %d\n", (signed char)200);
    return 0;
}
