Bird
Raised Fist0
Cprogramming~20 mins

main function and program entry - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of C Program Entry
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this C program?

Consider the following C code. What will it print when run?

C
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}
AHello World
Bhello, world!
CHello, World!
DCompilation error
Attempts:
2 left
💡 Hint

Look carefully at the exact string inside printf including capitalization and punctuation.

❓ Predict Output
intermediate
2:00remaining
What is the value of variable x after running this program?

What value does x hold after the program finishes?

C
#include <stdio.h>

int main() {
    int x = 5;
    x = x + 10;
    return 0;
}
A15
B5
C10
DCompilation error
Attempts:
2 left
💡 Hint

Remember that x = x + 10; adds 10 to the current value of x.

❓ Predict Output
advanced
2:00remaining
What is the output of this program with command line arguments?

What will this program print if run with the command ./program 3 7?

C
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
    if (argc < 3) {
        printf("Not enough arguments\n");
        return 1;
    }
    int a = atoi(argv[1]);
    int b = atoi(argv[2]);
    printf("Sum: %d\n", a + b);
    return 0;
}
ASum: 10
BSum: 37
CNot enough arguments
DRuntime error
Attempts:
2 left
💡 Hint

Check how argc and argv are used to get command line arguments and convert them to integers.

❓ Predict Output
advanced
2:00remaining
What error does this program produce when compiled?

What error will the compiler show for this program?

C
#include <stdio.h>

void main() {
    printf("Hello\n");
}
ASyntax error: missing semicolon
BWarning: return type of 'main' is not 'int'
CNo error, program runs fine
DLinker error: undefined reference to 'main'
Attempts:
2 left
💡 Hint

Check the return type of the main function in standard C.

🧠 Conceptual
expert
2:00remaining
How many times is the main function called in a standard C program execution?

In a typical C program, how many times is the main function called during the program's lifetime?

ADepends on the number of threads created
BMultiple times, each time a function calls it
CZero times, the OS runs the program without calling main
DExactly once, when the program starts
Attempts:
2 left
💡 Hint

Think about the role of main as the program's entry point.

Practice

(1/5)
1. What is the role of the main function in a C program?
easy
A. It stores all the variables used in the program.
B. It handles input and output operations automatically.
C. It compiles the program into machine code.
D. It is the starting point where the program begins execution.

Solution

  1. Step 1: Understand program execution start

    The main function is where the computer starts running the program.
  2. Step 2: Identify the role of main

    It acts as the entry point, so the program begins here.
  3. Final Answer:

    It is the starting point where the program begins execution. -> Option D
  4. Quick Check:

    Program entry = main function [OK]
Hint: Remember: main is where the program starts running [OK]
Common Mistakes:
  • Thinking main stores variables
  • Confusing main with compilation process
  • Assuming main handles all input/output automatically
2. Which of the following is the correct syntax to declare the main function in C?
easy
A. int main()
B. void main()
C. main int()
D. main() int

Solution

  1. Step 1: Recall standard main function syntax

    The standard and portable way is to declare main returning an integer: int main().
  2. Step 2: Check each option

    void main() uses void which is not standard. Options C and D have incorrect order and syntax.
  3. Final Answer:

    int main() -> Option A
  4. Quick Check:

    Standard main syntax = int main() [OK]
Hint: Main should return int, so use int main() [OK]
Common Mistakes:
  • Using void main() which is non-standard
  • Writing main int() or main() int which is invalid syntax
  • Omitting return type
3. What will be the output of this C program?
#include <stdio.h>
int main() {
    printf("Hello, World!\n");
    return 0;
}
medium
A. No output
B. Hello, World!
C. 0
D. Compilation error

Solution

  1. Step 1: Analyze the printf statement

    The program prints the string "Hello, World!" followed by a newline.
  2. Step 2: Check return value effect

    The return 0; ends the program successfully but does not print anything.
  3. Final Answer:

    Hello, World! -> Option B
  4. Quick Check:

    printf prints text = Hello, World! [OK]
Hint: printf prints text; return 0 ends program silently [OK]
Common Mistakes:
  • Confusing return 0 with printed output
  • Expecting 0 to print automatically
  • Thinking no output because of return 0
4. Identify the error in this C program:
#include <stdio.h>
int main() {
    printf("Start\n")
    return 0;
}
medium
A. Missing #include directive
B. Incorrect return type of main
C. Missing semicolon after printf statement
D. main function should return void

Solution

  1. Step 1: Check syntax of printf line

    The printf statement lacks a semicolon at the end, which is required in C.
  2. Step 2: Verify other parts

    The return type is correct, #include is present, and main returns int as expected.
  3. Final Answer:

    Missing semicolon after printf statement -> Option C
  4. Quick Check:

    Statements must end with ; = missing semicolon [OK]
Hint: Every statement ends with ; in C [OK]
Common Mistakes:
  • Forgetting semicolon after function calls
  • Changing main return type incorrectly
  • Removing #include directive
5. You want your C program to indicate successful completion to the operating system. Which statement should you include at the end of main?
hard
A. return 0;
B. exit(0);
C. void main();
D. return 1;

Solution

  1. Step 1: Understand return value meaning

    Returning 0 from main signals successful program completion to the OS.
  2. Step 2: Evaluate options

    return 1; returns 1 which usually means error. exit(0); calls exit but is less common in simple main. void main(); is invalid syntax.
  3. Final Answer:

    return 0; -> Option A
  4. Quick Check:

    Success signal = return 0; [OK]
Hint: Use return 0; to say program ended well [OK]
Common Mistakes:
  • Using return 1; which signals error
  • Confusing exit(0) with return 0;
  • Writing void main(); which is invalid
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard