var_init.cvc 755 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. extern void printInt(int val);
  2. extern void printNewlines(int num);
  3. int a = 1;
  4. int b = 10;
  5. void foo() {
  6. int a = 3;
  7. int c = a; // references local 'a'
  8. printInt(a); // 3
  9. printNewlines(1);
  10. printInt(c); // 3
  11. printNewlines(1);
  12. printInt(b); // 10
  13. printNewlines(1);
  14. }
  15. void bar() {
  16. // initializer uses global variable 'a'
  17. int a = a + 1;
  18. printInt(a);
  19. printNewlines(1);
  20. }
  21. void baz() {
  22. // initializer uses global variable 'b'
  23. int a = b;
  24. int b = 5;
  25. printInt(a);
  26. printNewlines(1);
  27. }
  28. export int main() {
  29. foo(); // 3, 3, 10
  30. bar(); // 2
  31. printInt(a); // 1
  32. printNewlines(1);
  33. baz(); // 10
  34. printInt(b); // 10
  35. printNewlines(1);
  36. return 0;
  37. }