C Essentials Part 1 Module 3 Test Online
The terminal glowed green: .
But the final test question was trickier: "What is the output of this code?" int x = 5; int y = 2; float z = x / y; printf("%f", z); She almost answered 2.5 , but caught herself. Integer division truncates. x / y = 2 , then stored as 2.000000 . The correct output: 2.000000 . c essentials part 1 module 3 test
Then she remembered — Module 3’s hidden trap: 50 <= sum <= 100 is parsed as (50 <= sum) <= 100 . (50 <= 60) is 1 , then 1 <= 100 is always true. So the second if always runs, and if the first if fails, the else prints too. The terminal glowed green:
#include <stdio.h> int main() { int a, b, sum; scanf("%d %d", &a, &b); sum = a + b; if (sum > 100) printf("HIGH"); if (50 <= sum <= 100) printf("MEDIUM"); else printf("LOW"); return 0; } x / y = 2 , then stored as 2
She corrected it:
She hit . Input: 75 30 → Sum = 105. Output: HIGH . Good. Input: 20 40 → Sum = 60. Output: MEDIUMLOW — Error!
She stared. Why both "MEDIUM" and "LOW"?