- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
How can a scalar be passed to a vector (1D array) to a Fortran subroutine?
(2 个回答)
5年前关闭。
好的,所以昨天我有一个同事来到我的办公室,问我一个关于他必须使用的 Fortran 代码的问题。
基本上,他使用的代码有一个很长的多维数组,以及一个只需要这个长的多维数组作为参数的子例程。
但是,调用该子例程的代码仅传递数组的第一个元素。然而代码有效。所以他问我怎么会这样。
我还没有看到他的特定代码,但这是我如何理解这个问题的一个例子(它有效!):
subroutine print_array(a)
implicit none
integer :: a(10)
write(*, *) a
end subroutine print_array
program passing
implicit none
integer :: i(10)
i = (/ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 /)
call print_array(i(1))
end program passing
最佳答案
您对其工作原理的解释是正确的。你对遵循这种过时做法的厌恶得到了广泛的支持。
至于原因,我已经忘记了(虽然很久以前我曾经这样做过——比如从酒吧开车回家和抽烟,每个人都这样做了,但什么也没想到)但也许该语言的最早版本不支持将整个数组作为参数传递。也许其他人的大脑不会被烈酒、烟草和 FORTRAN 的强效混合所迷惑(没错,大声喊出来)记得更清楚。
关于arrays - 有什么理由只传递第一个元素而不是整个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643669/
您好,我希望我的下一个输出(在本例中就是字母)在上一个输出之后输出 8 个空格。这适用于第一个字符,但之后的 printf 语句不起作用。它在第一个 printf 语句之后立即打印,我试图将其设置为
我想知道制作 std::list<>::splice 背后的基本原理是什么使引用被拼接到新容器中的子序列的迭代器无效。这对我来说有点不合逻辑,尤其是考虑到标准 std::container::swap
谁能告诉我为什么我应该使用 Azure Function 输出绑定(bind)(例如 SendGrid 或 Twilio)而不是仅仅在我的 C# 函数中显式使用适当的 SDK(例如 Sendgrid
我们在当前项目中使用 React 和 TypeScript,我遇到了以下行为。 import React, { Component } from 'react'; 我将上面的行替换为下面的行,因为它似
我是一名优秀的程序员,十分优秀!