5.61 · exercise
argv arithmetic
Every number on the command line gets added into one total. The args box under the editor holds four of them; change it and run again, and the output follows. Check always uses the four in the specification, whatever the box holds.
main receives argc in x0 and argv, an array of string pointers, in x1. Entry zero is the program's own name, so start at one. Each entry is eight bytes, which is what the scaled form ldr x0, [argv_r, i_r, lsl 3] is for; bl atoi turns the string into a number.
Print the running total after each number is added, one per line, then the final total.
What is checked
- the running totals and the final total for
12 7 30 4, the args in the specification - the program exits cleanly
- the numbers come from argv (
atoicalled, total not written in) - the same holds for other command lines you do not see, including one with no numbers at all
specification
args12 7 30 4
stdoutprints the right output
exitexits with the right code
sourceuses
atoisourcedoes not hardcode the answer
hiddenright output and exit code on 5 more inputs you do not see
We run your program on the input above and on the hidden ones, and compare what it does. Nothing is matched against a stored solution.