为什么只能赋值两次,

#include<stdio.h>
#define N 100
typedef struct{
char str[N];
int length;
}SString;
void fuzhi(SString* d)
{
int i,j;
printf("请输入你要赋值的元素的个数:\n");
scanf("%d",&i);
for(j=1;j<=i;j++)
scanf("%c",&d->str[j]);
}
int main()
{
SString a,b,c;
fuzhi(&a);
return 0;
}

img

按你给的输入,a.str字符数组下标为1-5的元素分别为'\n', '1', '\n', '2', '\n'
如果你想输入时忽略空白符,你应该在%c前加个空格,即" %c"