Others have already told you that you must remove the semicolon from the end of the for and to compare numbers you need to use ==.
Here, I'd like to show an alternative solution, keeping performance in mind.
The idea is that instead of testing every single number if it is even, we could just find the first even number and then just jump to the next even number (increment by 2).
If start is even, it's the first even number. If it is odd, then start + 1 is the first even number.
#include <stdio.h>
// Print even numbers between start and end inclusive, one number a line.
void PrintEvenNumbers(int start, int end)
{
for (int i = (start % 2 == 0 ? start : start + 1); i <= end; i += 2)
printf("%d\n", i);
}
void main()
{
PrintEvenNumbers(1, 21);
}