无法根据给定的整数获取char数组

时间:2017-02-04 07:03:08

标签: c scanf

#include<stdio.h>

int main()
{
    int n,i;

    scanf("%d",&n);
    char vote[n];

    for(i=0;i<n;i++)
    {
        scanf("%c",&vote[i]);
    }

    for(i=0;i<n;i++)
    {
        printf("%c",vote[i]);
    }

    return 0;
}

它没有获得第二个值,在获得第一个值后,它会输出第一个值 如果我为3提供n,则必须获得三个char值,并且必须打印三个char值,但代码无法正常运行。

1 个答案:

答案 0 :(得分:0)

scanf中的缓冲区问题。在scanf中添加空格,因为%c不会跳过空格并终止。

scanf(" %c",&vote[i]);代替scanf("%c",&vote[i]);