LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

void print_int_array(const int *s, int n)
{
    int is_string, i;

    // Определить строка ли это    
    for (is_string = 1, i = 0; i < n; ++i) {
        if (!iswprint(s[i])) {
            is_string = 0;
            break;
        }
    }
    
    // Если строка то напечатать как строку, если нет то каждый элемент как число
    if (is_string) {
        wprintf("%.*ls", n, (const wchar_t*)s);
    } else {
        for (i = 0; i < n; ++i) {
            printf("%d ", s[i]);
        }
    }
}

Исходная версия MOPKOBKA, :

void print_int_array(const int *s, int n)
{
    int is_string, i;

    // Определить строка ли это    
    for (is_string = 1; i < n; ++i) {
        if (!iswprint(s[i])) {
            is_string = 0;
            break;
        }
    }
    
    // Если строка то напечатать как строку, если нет то каждый элемент как число
    if (is_string) {
        wprintf("%.*ls", n, (const wchar_t*)s);
    } else {
        for (i = 0; i < n; ++i) {
            printf("%d ", s[i]);
        }
    }
}