#include <stdio.h>
int function(int n) {
static int foo = 0;
foo += n;
return foo;
}
int main(void) {
function(10); // returns 10
function(-4); // returns 6
printf("%d, %d\n", function(1), function(-1)); // UB; functions call mess with each other }
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBmdW5jdGlvbihpbnQgbikgewogICAgc3RhdGljIGludCBmb28gPSAwOwogICAgZm9vICs9IG47CiAgICByZXR1cm4gZm9vOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBmdW5jdGlvbigxMCk7IC8vIHJldHVybnMgMTAKICAgIGZ1bmN0aW9uKC00KTsgLy8gcmV0dXJucyA2CiAgICBwcmludGYoIiVkLCAlZFxuIiwgZnVuY3Rpb24oMSksIGZ1bmN0aW9uKC0xKSk7IC8vIFVCOyBmdW5jdGlvbnMgY2FsbCBtZXNzIHdpdGggZWFjaCBvdGhlcgp9Cg==