《C语言例程系列》-- 利用变量来定义数组长度

#include <stdio.h>

int main()
{
    int n,i;

    printf("请输入字符的个数:");
    scanf("%d", &n);

    char a[n+1];

    printf("请开始输入字符":);
    getchar();
    for(i = 0; i < n; i++)
    {
        scanf("%c", &a[i]);
    }

    a[n] = '\0';
    printf("你输入的字符串是:%s\n", a);
    return 0;
}

本段程序首先输入n值,输入后利用变量n来定义数组长度。该种用法在C99标准中提出,编译器可以使用。
同时要注意两个scanf()之间要加入一个getchar(),将换行符’\n’从缓存器中清除,避免数据替代。