我正在尝试使用gfortran编译一段代码,但是它失败并出现以下错误:
Error: Nonnegative width required in format string at (1)
../src/powmes.f90:410.20:
write(lunit,'(I,E,E,E)') wavenum(k),power(k),nmodes(k),errorexpan(k)
414 if (filepower_fold(1:1) /= '#') then
415 fileout=trim(filepower_fold)//'.waven'
416 if (verbose) write(*,*) 'Output '//trim(fileout)
417 open(file=fileout,form='formatted',status='unknown',unit=lunit,err=2)
418 do k=0,ngrid/2
419 do ifold=0,nfoldpow-1
420 write(lunit,'(I,$)') waven(k,ifold)
421 enddo
422 write(lunit,'(I)') waven(k,nfoldpow)
423 enddo
424 close(lunit)
Run Code Online (Sandbox Code Playgroud)
我该怎么编译呢?
尝试改变格式字符串I来Iw这里w是正数.同样E,只能使用Ew.d.
有关解释,请参阅此链接:http:
//www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/chap05/format.html
请注意:使用,比方说,I3写出1234可能会打印***,所以请确保您的格式足够宽.
编辑:请参阅@ MSB关于如何避免整数格式问题的答案.
如前所述,您需要指定宽度.像ES14.5这样的东西可能适用于浮点格式.整数格式有一个捷径:I0将使编译器使用所需的位数.
| 归档时间: |
|
| 查看次数: |
11406 次 |
| 最近记录: |