diff options
Diffstat (limited to 'exercises/008_quiz.zig')
-rw-r--r-- | exercises/008_quiz.zig | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/exercises/008_quiz.zig b/exercises/008_quiz.zig index eda66b8..5a81fb2 100644 --- a/exercises/008_quiz.zig +++ b/exercises/008_quiz.zig @@ -1,7 +1,7 @@ // // Quiz time! Let's see if you can fix this whole program. // -// This is meant to be challenging. +// You'll have to think about this one a bit. // // Let the compiler tell you what's wrong. // @@ -13,14 +13,23 @@ pub fn main() void { // What is this nonsense? :-) const letters = "YZhifg"; - const x: u8 = 1; + // Note: usize is an unsigned integer type used for...sizes. + // The exact size of usize depends on the target CPU + // architecture. We could have used a u8 here, but usize is + // the idiomatic type to use for array indexing. + // + // There IS a problem on this line, but 'usize' isn't it. + const x: usize = 1; - // This is something you haven't seen before: declaring an array - // without putting anything in it. There is no error here: + // Note: When you want to declare memory (an array in this + // case) without putting anything in it, you can set it to + // 'undefined'. There is no problem on this line. var lang: [3]u8 = undefined; // The following lines attempt to put 'Z', 'i', and 'g' into the - // 'lang' array we just created. + // 'lang' array we just created by indexing the array + // 'letters' with the variable 'x'. As you can see above, x=1 + // to begin with. lang[0] = letters[x]; x = 3; |