回 帖 发 新 帖 刷新版面

主题:请教如何判断字符型数组中无值

以一个1维长度6的字符数组为例
character(len=6)::a(100)
需要判断当中某些位置无值应该如何判断
if用0和用空格都不对,应该如何判断或者该怎么做?
谢谢

回复列表 (共26个回复)

沙发

用空格为什么不行
    character(20) :: s1
    integer :: i
    s1="OK"
    do i=1,20
        if(s1(i:i) == " ") then
            print *,i
        endif
    enddo

板凳

谢谢,但是我问的是数组
例如s1(10)=/a,b,c, ,e,f, ,h,i,j,k/
s1(4)和s1(7)无值,我应该怎么判断并输出

3 楼

那不是一样么
s1(i) == " "

4 楼


空格数和字符长度有关么?还是都只需要1个空格

5 楼

[quote]
空格数和字符长度有关么?还是都只需要1个空格[/quote]
都是一个空格

6 楼


    character(4)::s(10,5)
    integer::i,j
    do i=1,10
    s(i,1)="haha"
    end do
    do i=2,9
    s(i,2)="haha"
    end do
    do i=3,8
    s(i,3)="haha"
    end dodo i=4,7
    s(i,4)="haha"
    end do        !赋值到数组s
    do i=1,10
     do j=1,5
      if(s(i,j)==" ")then
      write(*,*)j
      end if
     end do
    end do
运行没有输出啊

7 楼

s没初始化 你怎么知道里面就是空的呢
先s=" "

8 楼


我咨询的就是判断无值,而不是判断空格啊

我现在就是想判断一个已有数组每一行到底有几列,不能去给它初始化啊

9 楼

[quote]
我咨询的就是判断无值,而不是判断空格啊

我现在就是想判断一个已有数组每一行到底有几列,不能去给它初始化啊[/quote]

你说的为空 没有意义

你说一个整型变量为空 是什么意义
一个字符变量为空 也没意义
在没初始化之前 值是随机的

又如"ss ssss"第三个字符你认为是什么,为空么?

某个变量没初始化,你说是什么?谁都不知道

10 楼

As far as I know, Null Value .ne. Blank.

我来回复

您尚未登录,请登录后再回复。点此登录或注册