Structures, Unions, Enums - Programming

Q1:

Point out the error in the program?
#include<stdio.h>

int main()
{
    struct a
    {
        float category:5;
        char scheme:4;
    };
    printf("size=%d", sizeof(struct a));
    return 0;
}

A Error: invalid structure member in printf

B Error in this float category:5; statement

C No error

D None of above

ANS:B - Error in this float category:5; statement

Bit field type must be signed int or unsigned int. The char type: char scheme:4; is also a valid statement.