aboutsummaryrefslogtreecommitdiff
path: root/exercises/011_while.zig
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/011_while.zig')
-rw-r--r--exercises/011_while.zig34
1 files changed, 34 insertions, 0 deletions
diff --git a/exercises/011_while.zig b/exercises/011_while.zig
new file mode 100644
index 0000000..674d904
--- /dev/null
+++ b/exercises/011_while.zig
@@ -0,0 +1,34 @@
+//
+// Zig 'while' statements create a loop that runs while the
+// condition is true. This runs once (at most):
+//
+// while (condition) {
+// condition = false;
+// }
+//
+// Remember that the condition must be a boolean value and
+// that we can get a boolean value from conditional operators
+// such as:
+//
+// a == b means "a equals b"
+// a < b means "a is less than b"
+// a > b means "a is greater than b"
+// a != b means "a does not equal b"
+//
+const std = @import("std");
+
+pub fn main() void {
+ var n: u32 = 2;
+
+ // Please use a condition that is true UNTIL "n" reaches 1024:
+ while (???) {
+ // Print the current number
+ std.debug.print("{} ", .{n});
+
+ // Set n to n multiplied by 2
+ n *= 2;
+ }
+
+ // Once the above is correct, this will print "n=1024"
+ std.debug.print("n={}\n", .{n});
+}