fork download
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4.  
  5. enum {
  6. IDX_MIN = 0,
  7. IDX_MAX,
  8. };
  9.  
  10. static int s_range[][2] = {
  11. { -10, -5 },
  12. { -5, 2 },
  13. { 2, 7 },
  14. { 7, 15 },
  15. { 12, 20 }
  16. };
  17.  
  18. static const int kDefaultMin = 0;
  19. static const int kDefaultMax = 10;
  20.  
  21. bool setMin(int setMin, int *dstMin, int *dstMax);
  22. bool setMax(int setMax, int *dstMin, int *dstMax);
  23.  
  24. void test_group_run(void)
  25. {
  26. int amin, amax;
  27. int num = sizeof(s_range)/sizeof(s_range[0]);
  28.  
  29. for(int idx=0; idx < num; idx++) {
  30. amin = kDefaultMin;
  31. amax = kDefaultMax;
  32. // bool bf1 = setMin(s_range[idx][IDX_MIN], &amin, &amax);
  33. bool bf2 = setMax(s_range[idx][IDX_MAX], &amin, &amax);
  34. bool bf1 = setMin(s_range[idx][IDX_MIN], &amin, &amax);
  35. printf("idx%d: (SetMin, SetMax)=(%d, %d)\n", idx+1, bf1, bf2);
  36. }
  37. }
  38.  
  39. int main(void) {
  40. test_group_run();
  41. return 0;
  42. }
  43.  
  44. bool setMin(int setMin, int *dstMin, int *dstMax)
  45. {
  46. if (setMin > *dstMax) {
  47. return false;
  48. }
  49. *dstMin = setMin;
  50. return true;
  51. }
  52. bool setMax(int setMax, int *dstMin, int *dstMax)
  53. {
  54. if (setMax < *dstMin) {
  55. return false;
  56. }
  57. *dstMax = setMax;
  58. return true;
  59. }
  60.  
  61.  
Success #stdin #stdout 0s 9432KB
stdin
Standard input is empty
stdout
idx1: (SetMin, SetMax)=(1, 0)
idx2: (SetMin, SetMax)=(1, 1)
idx3: (SetMin, SetMax)=(1, 1)
idx4: (SetMin, SetMax)=(1, 1)
idx5: (SetMin, SetMax)=(1, 1)