Удалить пробел в конце вывода в C
Следующий код предназначен для печати элементов матрицы в спиральном порядке. Программа работает отлично. Проблема, однако, заключается в том, что онлайн-компилятор, по которому я проверяю программу, не принимает конечные пробелы в конце вывода. Может ли кто-нибудь дать мне несколько идей относительно того, как я могу обойти последний пробел, добавляемый на выходе?
Для справки, мой код выглядит следующим образом (да, имена переменных ужасны. Я работаю над тем, чтобы изменить свою привычку ставить случайные имена переменных !!)
#include <stdio.h>
int main()
{
int a[6][6];
int i, k = 0, l = 0, m=3, n=3, j;
scanf("%d %d",&m, &n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
while (k < m && l < n)
{
for (i = l; i < n; ++i)
printf("%d ", a[k][i]);
k++;
for (i = k; i < m; ++i)
printf("%d ", a[i][n-1]);
n--;
if ( k < m)
{
for (i = n-1; i >= l; --i)
printf("%d ", a[m-1][i]);
m--;
}
if (l < n)
{
for (i = m-1; i >= k; --i)
printf("%d ", a[i][l]);
l++;
}
}
return 0;
}
Входные данные:
1 2 3
4 5 6
7 8 9
Выход:
1 2 3 6 9 8 7 4 5{one extra space}
Есть ли способ решить эту проблему? (Также извините за ужасное форматирование. Первый вопрос по StackOverflow!)