diff options
author | Nami-Doc <vendethiel@hotmail.fr> | 2014-09-08 21:53:11 +0200 |
---|---|---|
committer | Nami-Doc <vendethiel@hotmail.fr> | 2014-09-08 21:53:11 +0200 |
commit | 28e43b32f0d5d0e33bfbaa50342f7e3dd5b114e3 (patch) | |
tree | 4e8eadce314529d1287fe547a51ee728fae5e610 /c.html.markdown | |
parent | eab554a7a7f2869ff7dac9f54acce9a7ed55cfa4 (diff) | |
parent | b35ccf01af17b52447c98d7101ee932e7f089c52 (diff) |
Merge pull request #748 from levibostian/clean-up-issues
Clean up issues
Diffstat (limited to 'c.html.markdown')
-rw-r--r-- | c.html.markdown | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/c.html.markdown b/c.html.markdown index 79b7aec7..cbb6d289 100644 --- a/c.html.markdown +++ b/c.html.markdown @@ -4,6 +4,7 @@ filename: learnc.c contributors: - ["Adam Bard", "http://adambard.com/"] - ["Árpád Goretity", "http://twitter.com/H2CO3_iOS"] + - ["Jakub Trzebiatowski", "http://cbs.stgn.pl"] --- @@ -175,6 +176,9 @@ int main() { i2 * i1; // => 2 i1 / i2; // => 0 (0.5, but truncated towards 0) + // You need to cast at least one integer to float to get a floating-point result + (float)i1 / i2 // => 0.5f + i1 / (double)i2 // => 0.5 // Same with double f1 / f2; // => 0.5, plus or minus epsilon // Floating-point numbers and calculations are not exact @@ -194,9 +198,11 @@ int main() { 2 >= 2; // => 1 // C is not Python - comparisons don't chain. - // WRONG: - //int between_0_and_2 = 0 < a < 2; - // Correct: + // Warning: The line below will compile, but it means `(0 < a) < 2`. + // This expression is always true, because (0 < a) could be either 1 or 0. + // In this case it's 1, because (0 < 1). + int between_0_and_2 = 0 < a < 2; + // Instead use: int between_0_and_2 = 0 < a && a < 2; // Logic works on ints |