怎么输出ASCII的非打印控制字符

输出一个数组
for(i=0;i<n;i++){
printf("%d ",a[i]);

我现在想让输出的最后没有空格,要怎么做。
(这只是举了个例子,实际比这复杂)
求大佬翻牌子

最后一次输出判断一下啊

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

}

判断一下 i 是不是最后一次输出


for(i=0;i<n;i++)
{
    if(i<n-1) printf("%d ",a[i]); //这里%d后面有空格
    else printf("%d",a[i]);//这里%d后面没有空格
}
for (i = 0; i < n; i++){
        printf("%d", a[i]);
        if (i != n - 1) printf(" ");

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