fflush(stdin)如何改变下面代码中的输出?

时间:2017-03-14 12:08:23

标签: c

Q值。添加fflush(stdin)后,a[0]字符串a有一个字符,但当我删除它时,我可以添加一个较少的字符,即a[0]字符为空的相同字符串。使用此整数输入数组时,我没有这个问题。我想知道它背后的原因不是替代选项(如getchar)

#include <stdio.h>
int main()
{
    char a[50], b;
    int c, d, e, f;
    printf("enter the size of the string");
    scanf("%d", &c);
    fflush(stdin);
    printf("enter the string");
    for (d = 0; d < c; d++) 
    {
        scanf("%c",&a[d]);
    }
    for(d = 0; d < c; d++)
    {
        printf("%d %c\n",d,a[d]);
    }
    return 0;
}

0 个答案:

没有答案