Since you're only checking numbers that are divisible by 2 or 3, here is a simple way to speed it up a little.
Code:
#include <stdio.h>
 
#define MAXNUM 10000000
 
int main() {
    int count_ab = 0;
 
    // Process numbers divisible by 2
    for (int n = 12; n <= MAXNUM; n += 2) {
        int sum_div = 1, div = 2;
        for ( ; div * div < n; div++) {
            if (n % div == 0) {
                sum_div += div + n / div;
                if (sum_div > n) {
                    count_ab++;
                    break;
                }
            }
        }
        if (sum_div <= n && div * div == n && sum_div + div > n)
            count_ab++;
    }
 
    // Process numbers divisible by 3 but not by 2
    for (int n = 15; n <= MAXNUM; n += 6) {
        // 21 is a divisor of abundunt numbers in [1, 1.0e7] with last digit 1 or 3 or 7 or 9
        if (n % 10 != 5 && n % 21 != 0) continue;
        int sum_div = 1, div = 3; // not divisible by even numbers
        for ( ; div * div < n; div += 2) {
            if (n % div == 0) {
                sum_div += div + n / div;
                if (sum_div > n) {
                    count_ab++;
                    break;
                }
            }
        }
        if (sum_div <= n && div * div == n && sum_div + div > n)
            count_ab++;
    }
 
    printf("Abundunt = %d\n", count_ab);
    return 0;
}