c - 删除 C 中输出末尾的空格

标签 c whitespace

以下代码用于按螺旋顺序打印矩阵的元素。该程序运行良好。然而,问题是我用来检查程序的在线编译器不接受输出末尾的尾随空格。谁能给我一些关于如何绕过在输出中添加的最后一个空白的想法?

作为引用,我的代码如下(是的,变量名很糟糕。我正在努力改变我使用随机变量名的习惯!!)

#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 的第一个问题!)

最佳答案

你可以在你的for循环中加入一个if条件

for (i = l; i < n; ++i)
{
        printf("%d", a[k][i]);
        if(i < n-1)
            printf(" ");
}

关于c - 删除 C 中输出末尾的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612412/

相关文章:

python - 使用 Python 和 py-postgresql 返回的查询中的空格

asp.net - 清理由 ASP.NET 呈现的 'messy' 标记

c - 在给出有效选择之前,我如何进行程序循环?

mysql - 如何知道使用 Update 查询更新的记录?

c - 为什么需要多个 EOF (CTRL+Z) 字符?

将 <br> 标签转换为空格的 jQuery .text() 等价物

ruby - HAML 标签之间的空格

c++ - 编写自定义脚本语言

c - C语言两台微处理器(H8S2633R)串口通信

jquery - 使用 jQuery 修剪文本区域中的前导/尾随空格?