PAT提交时语言选择问题

PAT A1001提交时,选择语言为C++输出答案错误,但是选择语言为C输出答案正确。
本地编译器为VS2019。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<math.h>

int main() {
    int sum = 0, a = 0, b = 0;
    scanf("%d%d", &a, &b);
    sum = a + b;
    if (sum < 0)printf("-");
    char number[10];
    memset(number, 0, sizeof(number));
    sprintf(number, "%d", abs(sum));
    int len = strlen(number);
    int times = len / 3;
    int start = len % 3;
    for (int i = 0; i < len; i++) {
        if (i % 3 == start && i != 0) {
            printf(",%c", number[i]);
        }
        else printf("%c", number[i]);
    }
}

估计把printf默认是c语言,你换成cout试试会不会识别为c++

C++,是要这么改:

#include<iostream>
using namespace std;
int main() {
    int sum = 0, a = 0, b = 0;
    cin >> a >> b;
    sum = a + b;
    if (sum < 0) {
        cout<<'-';
        sum = -sum;
    }
    char number[10];
    memset(number, 0, sizeof(number));
    int len = sprintf(number, "%d", sum);
    //int times = len / 3;
    int start = len % 3;
    for (int i = 0; i < len; i++) {
        if (i % 3 == start && i != 0) 
             cout << ',' << number[i];
        else cout << number[i];
    }
}