Удалить последний пробел С++

удалить последний пробел С++
код:
if ((a % 2) != 0)
{
printf("%d ",a
);
}

в текст. редактор записываются нечетные элементы массива, каждый элемент отделятся от другого пробелом.
получается что-то типа: 3 7 9 11
подскажите, пожалуйста, как убрать пробел после последнего символа?

  • Очевидно, что надо как-то различать первый (или последний) и остальные прохождения цикла. Например, так:
    bool firstTime=true;
    ...
    if(firstTime){printf("%d",a);firstTime=false;}
    else printf("%d ",a);
    Разумеется, возможны всякие фокусы с тернарным оператором и т.д. Да, и слеш перед пробелом не обязателен.
  • Капитан Гугл, который ничего кроме как "гуглить" не умеет, и прогуглил все мозги, наверное, забыл упомянуть, что в любом языке программирования есть функция или метод "трим", который удаляе по краям пробелы, а при желании и всякую дрянь.
    Спасибо
  • А зачем его удалять? Он сильно мешает?

    Можно его просто не писать:

    #include

    int main() {
    int a[] = { 1, 2, 3, 4, 5 };
    for (int c = 0; c < 5; ++c) if (a[c] % 2) std::cout << a[c] << (c < 4 ? " " : "");
    return 0;
    }

    Если вы используете Сишный вывод, то

    #include

    int main() {
    int a[] = { 1, 2, 3, 4, 5 };
    for (int c = 0; c < 5; ++c) if (a[c] % 2) printf("%d%s", a[c], c < 4 ? " " : "");
    return 0;
    }