Fortran Coder

标题: 矩阵的输出格式问题 [打印本页]

作者: Andy1201    时间: 2024-4-5 17:25
标题: 矩阵的输出格式问题
本帖最后由 Andy1201 于 2024-4-5 17:30 编辑

求助一个小问题:鄙人想输出一个三行五列的矩阵
Print *,((hypernew(i,j),j=1,5),i=1,3)

[attach]3979[/attach]
即输出调试框中的局部变量
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
但是调试运行后的输出却不是想要的结果,并不是一列的形式,而是很奇怪的六列(如下所示),不知问题出在哪里了,求助各位大神,谢谢大神
[attach]3980[/attach]
1 1 1 1 1 0
0 0 0 0 0 0
0 0 0


1.jpg (40.7 KB, 下载次数: 51)

1.jpg

3.jpg (5.11 KB, 下载次数: 52)

3.jpg

作者: fcode    时间: 2024-4-5 19:37
表控格式由编译器根据变量列表自动控制决定输出格式。
你可以用格式符,
[Fortran] 纯文本查看 复制代码
write(*,"(3((5(i3,1x),/)))") (hypernew(i,:),i=1,3)

或者加一层外循环
[Fortran] 纯文本查看 复制代码
Do i = 1 , 3
  write(*,*) hypernew(i,:)
End Do

作者: Transpose    时间: 2024-4-5 21:11
另外备注:intel的编译器每行只能输出80个字符
作者: 胡文刚    时间: 2024-4-6 10:57
Transpose 发表于 2024-4-5 21:11
另外备注:intel的编译器每行只能输出80个字符

你是说表控格式输出最多80吧?指定格式应该是几乎没有限制的。
此外,ifort的表控的输入每行限制2048字符




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