RosettaCodeData/Task/Variadic-function/XPL0/variadic-function.xpl0

13 lines
503 B
Plaintext

include c:\cxpl\codes; \intrinsic 'code' declarations
def IntSize=4; \number of bytes in an integer
proc Var(N...); \Display N strings passed as arguments
int N;
[N:= Reserve(N*IntSize); \reserve space for N string pointers
repeat Text(0,N(0)); CrLf(0); \display strings pointed to by N(0)
N:= N+IntSize; \point to next string
until N=GetHp; \pointing beyond reserved space?
];
Var(4, "Mary", "had", "a", "little")