Fortran Coder

标题: 一维数组堆栈溢出 [打印本页]

作者: 610746269    时间: 2020-8-2 22:11
标题: 一维数组堆栈溢出
本帖最后由 610746269 于 2020-8-2 22:32 编辑

编译器:VS2019 + IVF2019
目的:生成一个自然数序列1,2,3...n
代码如图所示,给出了3种方法
请问:为什么方法1和2会堆栈溢出,而方法3正常?

do.jpg (30.12 KB, 下载次数: 312)

do.jpg

作者: kyra    时间: 2020-8-3 08:21
这个问题,得问编译器厂家。
你换个编译器,可能就不会了。
作者: li913    时间: 2020-8-3 10:15
前两种,等号右边会生成一个临时的数组。
作者: 610746269    时间: 2020-8-3 17:18
li913 发表于 2020-8-3 10:15
前两种,等号右边会生成一个临时的数组。

原来如此,感谢!
作者: lookbook    时间: 2020-8-3 22:12
li913 发表于 2020-8-3 10:15
前两种,等号右边会生成一个临时的数组。

这个临时数组会放在哪,堆?栈?
作者: kyra    时间: 2020-8-4 08:01
这是编译器行为,不是语法标准规定的。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2