24小时热门版块排行榜    

查看: 426  |  回复: 3

1312758691

新虫 (小有名气)

[求助] 输出格式 已有1人参与

fortran 程序如下:

program test
implicit none
integer:: data1(256)
data1=0
data1(10:256:10)=1000
write(*,'(1x,10I8)') data1
end program test


运行结果如图片所示,为什么最左边有这样的一列‘0’,而左右边确是‘100’呢?

输出格式
错误.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
1312758691: 金币+5, 有帮助, 我表示给的回复还没解决我的疑惑 2014-05-06 10:50:53
很明显是因为1000在行末只显示了100,另一个0折行显示了
2楼2014-05-06 10:27:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1312758691

新虫 (小有名气)

引用回帖:
2楼: Originally posted by snoopyzhao at 2014-05-06 10:27:47
很明显是因为1000在行末只显示了100,另一个0折行显示了

那为什么最左边的“0”在最右边的“100”的上一行呢?这跟设置的输出格式有什么关系呢?
3楼2014-05-06 10:52:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
3楼: Originally posted by 1312758691 at 2014-05-06 10:52:35
那为什么最左边的“0”在最右边的“100”的上一行呢?这跟设置的输出格式有什么关系呢?...

你没有给出第一行

你现在看到的上一行的 0 其实是再上一行的 100 后的

你把结果重定相到文件中就能看到它们是在一行上了。现在这个情况完全是因为终端(就是那个黑黑的窗口)一行只有80列,而你的输出需要占用81列,所以最后一列必然要折行才能显示……
4楼2014-05-06 11:52:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1312758691 的主题更新
信息提示
请填处理意见