5.129 · exercise

Basic quiz: C

The C that the assembly lessons start from: type sizes, integer division, copies against addresses, where an array element sits, printf specifiers, and where a call's arguments go.

0 of 7 correct

Multiple choice

How many bytes does a long take on the 64-bit ARM Linux machines this site imitates?

Multiple choice

Both values are int. What is -17 / 5 in C?

Multiple choice

void bump(int x) { x = x + 1; } is called as bump(score). What happens to score?

Multiple choice

int marks[6] starts at address 2000. At which address does marks[3] start?

Multiple choice

Which printf specifier prints an int in hexadecimal?

Multiple choice

int *p = marks; is followed by *p = 0;. What does the second line change?

Multiple choice

C calls average3(s1, s2, s3), and all three are int. In the assembly, where do the three arguments travel?