Code:
#include <stdint.h>                                                             
#include <string>                                                               
#include <stdio.h>                                                              
                                                                                
int main(){                                                                     
    uint64_t a=3;                                                              
    std::size_t b = 91;                                                        
    printf("%llu,%llu\n",a, b);                                               
    printf("%llu,%llu\n",b, a);                                               
    return 0;                                                                   
}
As you can see, the first line
Code:
    printf("%llu,%llu\n",a, b);
prints out weird output for b, because std::size_t is not %llu
But when you switch the position of a and b, as in the second line:
Code:
    printf("%llu,%llu\n",b, a);
The output of a is also wrong. What happened?