C语言字符输出为空白

C语言字符输出问题
#include

int main()
{
/int a[100]={0};
a[0]=1;
int n=1;
int i=1;
while(n<=1000)
{
n=n+(1+i
2)2;
a[i]=n;
i++;
}
/
int N,t,j;
char ch;
scanf("%d",&N);
scanf("%c",&ch);
printf("\n%c",ch);
}

img

这是做的一题中的部分代码,编译和逻辑应该都没问题,但是就是该输出字符的地方是空白。我省掉其他代码到这样只简单的输入输出还是不行

ch读取到了缓存区里的回车,可以在两个scanf之间加上一个getchar来吃掉回车

ch的值是个空格,输出了你看不到罢了
格式字符串中加上空格 scanf("%d %c",&N,&ch);

你可以参考下这篇文章:(C语言)扫雷(点开为空白时展开周围空白的位置)
同时,你还可以查看手册:检查一个字符是否是空白字符-isspace 中的内容