C2106: '=' : left operand must be l-value : <p>So, I'm learning C as my first language and as doing some coding for practise I got the error above. I done everything as the book says (Stephen G. Kochan: Programming in C, Third Edition).
What am I doing wrong?
I'm using Microsoft Visual Studio 2015.</p>

<p>Thanks for your help!
Mark</p>

<pre><code>struct date
{
int month;
int day;
int year;
};

int main(void)
{
    struct date today, tomorrow;
    int numberOfDays(struct date d);

    printf("Adja meg a mai datumot (hh nn eeee): ");
    scanf_s("%i%i%i", &amp;today.month, &amp;today.day, &amp;today.year);

    if (today.day != numberOfDays(today))
    {
        tomorrow.day = today.day + 1;
        tomorrow.month = today.month;
        tomorrow.year = today.year;
    }
    else if (today.month == 12)
    {
        tomorrow.day = 1;
        tomorrow.month = 1;
        tomorrow.year = today.year + 1;
    }
    else
    {
        tomorrow.day = 1;
        tomorrow.month = today.month + 1;
        tomorrow.year = today.year;
    }
    printf("A holnapi datum: %i/%i/%.2i.\n", tomorrow.month, tomorrow.day, tomorrow.year % 100);

    return 0;
}

int numberOfDays(struct date d)
{
    int days;
    bool isLeapYear(struct date d);
    const int daysPerMonth[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

    if (isLeapYear(d) == true &amp;&amp; d.month == 2)
        days = 29;
    else
        days = daysPerMonth[d.month - 1];

    return days;
}

bool isLeapYear(struct date d)
{
    bool leapYearFlag;

    if ( (d.year % 4 == 0 &amp;&amp; d.year % 100 = 0) || d.year % 400 == 00) //The error shows up here
        leapYearFlag = true;
    else
        leapYearFlag = false;

    return leapYearFlag;
}
</code></pre>
