Andy1201 发表于 2024-4-5 17:25:35

矩阵的输出格式问题

本帖最后由 Andy1201 于 2024-4-5 17:30 编辑

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


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

1 1 1 1 1 0
0 0 0 0 0 0
0 0 0


fcode 发表于 2024-4-5 19:37:57

表控格式由编译器根据变量列表自动控制决定输出格式。
你可以用格式符,
write(*,"(3((5(i3,1x),/)))") (hypernew(i,:),i=1,3)
或者加一层外循环
Do i = 1 , 3
write(*,*) hypernew(i,:)
End Do

Transpose 发表于 2024-4-5 21:11:13

另外备注:intel的编译器每行只能输出80个字符

胡文刚 发表于 2024-4-6 10:57:18

Transpose 发表于 2024-4-5 21:11
另外备注:intel的编译器每行只能输出80个字符

你是说表控格式输出最多80吧?指定格式应该是几乎没有限制的。
此外,ifort的表控的输入每行限制2048字符
页: [1]
查看完整版本: 矩阵的输出格式问题