首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C中数组大小的用户输入

C中数组大小的用户输入
EN

Stack Overflow用户
提问于 2017-03-28 05:56:34
回答 1查看 877关注 0票数 1

如果我们不能获取数组大小的用户输入,那么为什么下面的程序运行良好呢?

代码语言:javascript
复制
#include <stdio.h>
int main()
{
int size, key = -1, i;
scanf("%d", &size);
int A[size];
    for(i = 0; i < size; i++)
    {
        scanf("%d", &A[i]);
    }
    if(A[0] > A[1])
        key = 0;
    else if(A[size-1] < A[size-2])
        key = size-1;
    else{
    for(i = 1; i <= size-2; i++)
    {
        if((A[i] > A[i+1])|| (A[i] < A[i-1]))
        key = i;
    }
}
printf("The key is %d at position %d\n", A[key], key);
return 0;}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 06:23:33

Variable-Length Array不受支持之前,C编程语言标准中的C99特性随着时间的推移而发生了变化,在C99中,它成为一个强制性特性,在当前的标准https://en.wikipedia.org/wiki/C99中,它成为一个有条件的特性:

C99引入了几个新特性,其中许多已经作为扩展在几个编译器中实现:

  • 可变长度数组(尽管随后在C11中降级为一个不需要实现支持的条件特性)

因此,这取决于您正在使用的编译器,我认为您使用的编译器支持这个特性。检查此链接:https://en.wikipedia.org/wiki/C99

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43061614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档