fork download
  1. #include <stdio.h>
  2.  
  3. typedef struct params_ {
  4. unsigned long long operand1, operand2;
  5. unsigned long long value1;
  6. int operation;
  7. } params_t;
  8.  
  9. int foo(struct params_* p) {
  10. int retcode = 0;
  11. // do something with p along operation
  12. if(p->operation == 0) {
  13. p->value1 = 100 * p->operand1 + p->operand2;
  14. }
  15. else if(p->operation == 1) {
  16. // ...
  17. }
  18. // ...
  19. else {
  20. retcode = -1;
  21. }
  22. return retcode;
  23. }
  24.  
  25. int main(void) {
  26. params_t params;
  27. params.operation = 0;
  28. params.operand1 = 5;
  29. params.operand2 = 42;
  30. if(foo(&params) < 0) {
  31. // Error occurred
  32. }
  33. unsigned long long result = params.value1;
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0s 2004KB
stdin
Standard input is empty
stdout
Standard output is empty