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 | #include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
void print_asterisk_triangle(int num_asterisks_to_print) {
if(num_asterisks_to_print >= 1) {
for(int i = 0; i < num_asterisks_to_print; i--) { // BUG: i-- should be i++
assert(i >= 0); // Checks something that must be true if YOUR code is correct.
// assert(…) requires #include <assert.h>
// Not for checking if system status is okay.
// Not for checking if file exists.
// Not for checking if someone else called your code correctly.
// It is for checking something that should "obviously" and ALWAYS be true
// if your code is correct.
// assert(«CONDITION»);
fputc('*', stdout);
}
fputc('\n', stdout);
print_asterisk_triangle(num_asterisks_to_print - 1);
}
}
int main(int argc, char* argv[]) {
print_asterisk_triangle(5);
return EXIT_SUCCESS;
}
/* vim: set tabstop=4 shiftwidth=4 fileencoding=utf-8 noexpandtab: */
|
© Copyright 2023 Alexander J. Quinn This content is protected and may not be shared, uploaded, or distributed.