【发布时间】:2020-09-22 17:09:57
【问题描述】:
我有一个二阶(矩阵)数组 a(i,j),其中每个元素都是一个 ASCII 字符,例如 A 或 & 或 ^ 等。当我想将数组元素转换为其整数代码,例如b(i,j)=ichar('a(i,j)') 我得到以下Error: Argument of ICHAR at (1) must be of length one,这很奇怪,因为每个 a(i,j) 都是单个 ASCII 字符。我可以执行以下操作(让 a(1,2) 为 A):y=a(1,2),z=ichar('y'),(y=A,z=121),但随后我松散了数组结构,因为当我尝试打印出 @ 987654328@(编译后)我得到Program received signal SIGSEGV: Segmentation fault - invalid memory reference.Backtrace for this error:#0 0x7f301bac08da
等等(我有integer, dimension(:,:), allocatable :: b)
如何形成b(i,j)=ichar('a(i,j)') 以及如何处理b(i,j) 的选定元素,以便能够在程序中的进一步计算中操纵它们?
我需要 b(i,j) 的数组结构,因为 a(i,j) 有数百列和行,而且我想在进一步的过程中将 b(i,j) 与 a(i,j) 关联起来b(i,j) 元素的操作。即使可能,切换到“lenght one”也会非常笨拙。
【问题讨论】:
-
没有阅读我在您的其他问题中发布的 2 个示例?这些向您展示了如何使用
ichar。