#include <stdio.h>
int foo1(int a, int b, int *r) {
*r = 2*b;
return 2*a;
}
struct Foo {
int bar;
int baz;
};
struct Foo foo2(int a, int b) {
struct Foo res;
res.bar = 2*a;
res.baz = 2*b;
return res;
}
int main(void) {
int i, j;
i = foo1(7, -3, &j);
struct Foo tmp = foo2(-7, 3);
printf("return values: (%d, %d) and (%d, %d)\n", i
, j
, tmp.
bar, tmp.
baz); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgZm9vMShpbnQgYSwgaW50IGIsIGludCAqcikgewogICAgKnIgPSAyKmI7CiAgICByZXR1cm4gMiphOwp9CgpzdHJ1Y3QgRm9vIHsKICAgIGludCBiYXI7CiAgICBpbnQgYmF6Owp9OwpzdHJ1Y3QgRm9vIGZvbzIoaW50IGEsIGludCBiKSB7CiAgICBzdHJ1Y3QgRm9vIHJlczsKICAgIHJlcy5iYXIgPSAyKmE7CiAgICByZXMuYmF6ID0gMipiOwogICAgcmV0dXJuIHJlczsKfQoKaW50IG1haW4odm9pZCkgewoJaW50IGksIGo7CgogICAgaSA9IGZvbzEoNywgLTMsICZqKTsKCiAgICBzdHJ1Y3QgRm9vIHRtcCA9IGZvbzIoLTcsIDMpOwoKICAgIHByaW50ZigicmV0dXJuIHZhbHVlczogKCVkLCAlZCkgYW5kICglZCwgJWQpXG4iLCBpLCBqLCB0bXAuYmFyLCB0bXAuYmF6KTsKCXJldHVybiAwOwp9Cg==