gpt4 book ai didi

c - 用户输入 C 中数组的大小

转载 作者:行者123 更新时间:2023-11-30 16:48:10 25 4
gpt4 key购买 nike

如果我们无法接受用户输入的数组大小,那么为什么下面的程序可以正常运行?

#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;}

最佳答案

Variable-Length Array功能于 C编程语言标准在C99之前随着时间的推移而发生了变化。 C99 中不支持它在当前标准 C11 中,它成为强制性功能它成为一个有条件的功能:

C99 introduced several new features, many of which had already been implemented as extensions in several compilers:

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

所以这取决于您使用的编译器,我认为您使用的编译器支持此功能。检查此链接:https://en.wikipedia.org/wiki/C99

关于c - 用户输入 C 中数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43061614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com