C: Undefined behavior while printing 0x85 or 0x95!!!
When i try to print 0x15 to 0x75 in c usinf %2x in printf i'm seeing expected same output(15 to 75 respectively).
But if i try to print 0x85 or 0x95 am getting 0xffffff85 and 0xffffff95 as output why is this any idea ???



    #include<stdio.h>
    
    int main()
    {
      char test;
  
      test = 0x85;
  
      printf("\n test hex: %2x \n", test);
  
      return 0;
    }  

    output:
    test hex: ffffff85 


Any specific explanations , please help me out !!!

C: Undefined behavior while printing 0x85 or 0x95!!!
===

When i try to print 0x15 to 0x75 in c usinf %2x in printf i'm seeing expected same output(15 to 75 respectively).
But if i try to print 0x85 or 0x95 am getting 0xffffff85 and 0xffffff95 as output why is this any idea ???



    #include<stdio.h>
    
    int main()
    {
      char test;
  
      test = 0x85;
  
      printf("\n test hex: %2x \n", test);
  
      return 0;
    }  

    output:
    test hex: ffffff85 


Any specific explanations , please help me out !!!
