summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlex Luehm <luehm@me.com>2015-10-28 17:45:31 -0500
committerAlex Luehm <luehm@me.com>2015-10-28 17:45:31 -0500
commit3b1940b9cc9c0e46a9275b2ae64e4c5996d7de75 (patch)
tree30d27cb483be3250cd99e9bdc89c642d8a2860d2
parent927ac9c3e83e9181f4ef3917417cd768ef205a10 (diff)
[C/en] Added tidbit about fall-though in switch statements.
Another pitfall, as not all languages have fall-through in switches.
-rw-r--r--c.html.markdown24
1 files changed, 15 insertions, 9 deletions
diff --git a/c.html.markdown b/c.html.markdown
index 3d632eab..2a5e460f 100644
--- a/c.html.markdown
+++ b/c.html.markdown
@@ -76,7 +76,7 @@ int main (int argc, char** argv)
///////////////////////////////////////
// Types
///////////////////////////////////////
-
+
// All variables MUST be declared at the top of the current block scope
// we declare them dynamically along the code for the sake of the tutorial
@@ -318,6 +318,12 @@ int main (int argc, char** argv)
case 1:
printf("Huh, 'a' equals 1!\n");
break;
+ // Be careful - without a "break", execution continues until the
+ // next "break" is reached.
+ case 3:
+ case 4:
+ printf("Look at that.. 'a' is either 3, or 4\n");
+ break;
default:
// if `some_integral_expression` didn't match any of the labels
fputs("error!\n", stderr);
@@ -345,8 +351,8 @@ int main (int argc, char** argv)
https://ideone.com/GuPhd6
this will print out "Error occured at i = 52 & j = 99."
*/
-
-
+
+
///////////////////////////////////////
// Typecasting
///////////////////////////////////////
@@ -445,7 +451,7 @@ int main (int argc, char** argv)
for (xx = 0; xx < 20; xx++) {
*(my_ptr + xx) = 20 - xx; // my_ptr[xx] = 20-xx
} // Initialize memory to 20, 19, 18, 17... 2, 1 (as ints)
-
+
// Note that there is no standard way to get the length of a
// dynamically allocated array in C. Because of this, if your arrays are
// going to be passed around your program a lot, you need another variable
@@ -721,13 +727,13 @@ typedef void (*my_fnp_type)(char *);
/******************************* Header Files **********************************
-Header files are an important part of c as they allow for the connection of c
-source files and can simplify code and definitions by seperating them into
+Header files are an important part of c as they allow for the connection of c
+source files and can simplify code and definitions by seperating them into
seperate files.
-Header files are syntaxtically similar to c source files but reside in ".h"
-files. They can be included in your c source file by using the precompiler
-command #include "example.h", given that example.h exists in the same directory
+Header files are syntaxtically similar to c source files but reside in ".h"
+files. They can be included in your c source file by using the precompiler
+command #include "example.h", given that example.h exists in the same directory
as the c file.
*/