主题:请教如何判断字符型数组中无值
			 lee1985
				 [专家分:0]  发布于 2010-11-18 17:20:00
 lee1985
				 [专家分:0]  发布于 2010-11-18 17:20:00							
			以一个1维长度6的字符数组为例
character(len=6)::a(100)
需要判断当中某些位置无值应该如何判断
if用0和用空格都不对,应该如何判断或者该怎么做?
谢谢
						
					 
		
			
回复列表 (共26个回复)
		
								
				沙发
				
					 dongyuanxun [专家分:7180]  发布于 2010-11-18 18:02:00
dongyuanxun [专家分:7180]  发布于 2010-11-18 18:02:00				
				用空格为什么不行
    character(20) :: s1
    integer :: i
    s1="OK"
    do i=1,20
        if(s1(i:i) == " ") then
            print *,i
        endif
    enddo
							 
						
				板凳
				
					 lee1985 [专家分:0]  发布于 2010-11-18 18:18:00
lee1985 [专家分:0]  发布于 2010-11-18 18:18:00				
				谢谢,但是我问的是数组
例如s1(10)=/a,b,c, ,e,f, ,h,i,j,k/
s1(4)和s1(7)无值,我应该怎么判断并输出
							 
						
				3 楼
				
					 dongyuanxun [专家分:7180]  发布于 2010-11-18 18:28:00
dongyuanxun [专家分:7180]  发布于 2010-11-18 18:28:00				
				那不是一样么
s1(i) == " "
							 
						
				4 楼
				
					 lee1985 [专家分:0]  发布于 2010-11-18 19:01:00
lee1985 [专家分:0]  发布于 2010-11-18 19:01:00				
				
空格数和字符长度有关么?还是都只需要1个空格
							 
						
				5 楼
				
					 dongyuanxun [专家分:7180]  发布于 2010-11-18 19:02:00
dongyuanxun [专家分:7180]  发布于 2010-11-18 19:02:00				
				[quote]
空格数和字符长度有关么?还是都只需要1个空格[/quote]
都是一个空格
							 
						
				6 楼
				
					 lee1985 [专家分:0]  发布于 2010-11-19 19:20:00
lee1985 [专家分:0]  发布于 2010-11-19 19:20:00				
				
    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 楼
				
					 dongyuanxun [专家分:7180]  发布于 2010-11-19 19:40:00
dongyuanxun [专家分:7180]  发布于 2010-11-19 19:40:00				
				s没初始化 你怎么知道里面就是空的呢
先s=" "
							 
						
				8 楼
				
					 lee1985 [专家分:0]  发布于 2010-11-19 19:43:00
lee1985 [专家分:0]  发布于 2010-11-19 19:43:00				
				
我咨询的就是判断无值,而不是判断空格啊
我现在就是想判断一个已有数组每一行到底有几列,不能去给它初始化啊
							 
						
				9 楼
				
					 dongyuanxun [专家分:7180]  发布于 2010-11-19 19:49:00
dongyuanxun [专家分:7180]  发布于 2010-11-19 19:49:00				
				[quote]
我咨询的就是判断无值,而不是判断空格啊
我现在就是想判断一个已有数组每一行到底有几列,不能去给它初始化啊[/quote]
你说的为空 没有意义
你说一个整型变量为空 是什么意义
一个字符变量为空 也没意义
在没初始化之前 值是随机的
又如"ss ssss"第三个字符你认为是什么,为空么?
某个变量没初始化,你说是什么?谁都不知道
							 
						
				10 楼
				
					 asymptotic [专家分:16630]  发布于 2010-11-19 19:51:00
asymptotic [专家分:16630]  发布于 2010-11-19 19:51:00				
				As far as I know, Null Value .ne. Blank.
							 
									
			
我来回复