aboutsummaryrefslogtreecommitdiff
path: root/exercises/08_quiz.zig
blob: eda66b80b4a8c0ab7d5f5ea3bae04cab31c8b9e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//
// Quiz time! Let's see if you can fix this whole program.
//
// This is meant to be challenging.
//
// Let the compiler tell you what's wrong.
//
// Start at the top.
//
const std = @import("std");

pub fn main() void {
    // What is this nonsense? :-)
    const letters = "YZhifg";

    const x: u8 = 1;

    // This is something you haven't seen before: declaring an array
    // without putting anything in it. There is no error here:
    var lang: [3]u8 = undefined;

    // The following lines attempt to put 'Z', 'i', and 'g' into the
    // 'lang' array we just created.
    lang[0] = letters[x];

    x = 3;
    lang[???] = letters[x];

    x = ???;
    lang[2] = letters[???];

    // We want to "Program in Zig!" of course:
    std.debug.print("Program in {s}!\n", .{lang});
}