Fortran 서브 루틴에서 변수 그룹을 초기화하는 간단한 방법이 있습니까? DATA과 같지만 서브 루틴이 호출 될 때마다 작동합니다. 또는 유일한 해결책은 모든 변수에 x = 0.0
을 사용하는 것입니다.서브 루틴을 호출 할 때마다 모든 변수를 0으로 설정하는 방법은 무엇입니까?
-1
A
답변
2
예, 변수 값을 설정하려면 할당 (=
)을 사용하십시오.
구문을 단순화하기 위해 파생 형식 및 사용자 정의 할당을 만들 수 있습니다.
0
두 번 이상 호출해야하는 서브 루틴의 시작 부분에 여러 변수를 0으로 설정해야했습니다.
Double precision AP(nPor), ACCor(nThr,4), ...
모든 (nPor),
교체 : 예 난 그냥 코드 편집기에서 빈 새 파일에 변수의 선언에 사용되는 텍스트를 복사하고 찾기를 사용 =0;
또는 =0.0DE0;
여기에 모든 ,
을 바꾸려면 바꾸기입니다 및 (nThr,4),
다음
AP=0.0D0; ACCor=0.0D0;
=0.0D0;
모든 변수는 즉시 제로로 설정되었다. 변수를 사용하는 인수의 각 유형을 볼 시간을 절약하기 위해 (*),
과 같은 와일드 카드를 사용할 수 없었습니다.
는 경우 주변이 턴은 실례 Does fortran preserve the value of internal variables through function and subroutines
에서 언급 한 바와 같이, 서브 루틴에서 SAVE 속성을 피하려고 할 수 있습니다, 전혀 적합하지 않습니다,하지만 난 으론 자동으로 시작하는 방법에 대해이었다 확신 내가 변수를 제로라고 부르는 다양한 변수 작업. 이렇게하면 타이핑을 피할 수 있습니다. "= 0"또는 "(희미한, 희미한) = 0.0D0"모든 변수에 대해, 나는 그것을 모두 빠르게 작성하는 방법을 제안했다. @Alexander –
좋아, 내가 한 일을 더 분명하게하기 위해 답을 편집했다. 단지'ACCor = 0'을 사용할 수 있습니다. '희미한 '합병증은 불필요합니다. –
많은 답변을 드리며, 이번 답변에 도움이되었으므로 친절하게 투표 다운을 취소 해 주시기 바랍니다. 감사합니다 –