fork download
  1. #include <stdio.h>
  2.  
  3. //int min(int x, int y){return &(&((char*)x)[y])[-sizeof(union{char X[x],Y[y];})];}
  4.  
  5. //int min1(int x, int y){return ~sizeof(union{char X[~x],Y[~y];});}
  6.  
  7. #define min(x,y) &( &((char*)x)[y] )[-sizeof(union{char X[x], Y[y];})]
  8. int main(void)
  9. {
  10. printf("%d \n", min (0,3));
  11. printf("%d \n", min (3,0));
  12. printf("%d \n", min (1,12));
  13. printf("%d \n", min (12,12));
  14. printf("%d \n", min (12,1));
  15. printf("%d \n", min (345,21444));
  16. printf("%d \n", min (255,21444));
  17. return 0;
  18. }
  19.  
Success #stdin #stdout 0s 5504KB
stdin
Standard input is empty
stdout
0 
0 
1 
12 
1 
345 
255