为什么选A?哪里有语法错误?

图片说明

#include <stdio.h>
#define MOD(x,y) x%y

int main () {
    int z,a=15;
    float b=100;
    z=MOD((int)b,a); //这里加上(int)才能编译,结果10,否则因为b是浮点数,不能求模
    printf("%d\n", z++);
    return 0;
}
求余的除数 只能是整数