gpt4 book ai didi

c - 使用 (int) sqrt(N) 导致 'array bound is not an integer constant'

转载 作者:太空宇宙 更新时间:2023-11-04 00:51:55 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <math.h>

int size = (int) sqrt(4);
int arr[size];

int main() {
return 0;
}

我得到了:

test.c:5: error: array bound is not an integer constant

有人可以帮帮我吗?

最佳答案

您不能定义具有可变大小的静态存储数组(例如“全局”数组)。如果数组具有自动存储(如果它是函数中的数组),它将作为 VLA。

正如 icepack 正确指出的那样,VLA 在 C99 中正式引入。

关于c - 使用 (int) sqrt(N) 导致 'array bound is not an integer constant',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655827/

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