2015-06-30 16 views
6

Tôi đã đoạn mã sau, nhưng nó không hoạt động:nối của hai chuỗi không hoạt động

CHARACTER*260 xx, yy, zz  
    xx = 'A' 
    yy = 'B' 
    zz = xx // yy 

Khi tôi gỡ lỗi mã của tôi trong Visual Studio các

  • biến xx chứa 'A '
  • biến yy chứa 'B'
  • biến zz chứa 'A'

Tại sao không zz chứa 'AB'?

Trả lời

18

Bạn đã xác định xx dài 260 ký tự. Việc chỉ định một ký tự ngắn hơn sẽ dẫn đến một vùng đệm với khoảng trắng. Do đó, xx chứa A và 259 khoảng trống. yy chứa B và 259 khoảng trống. Vì vậy, các chuỗi nối sẽ 'A' + 259 khoảng trống + 'B' + 259 khoảng trống, trong tổng số 520 ký tự.

Kể từ zz chỉ dài 260 ký tự, phần còn lại được cắt.

gì bạn đang cố gắng làm là đạt được bằng cách

zz = trim(xx) // trim(yy) 

trim() xóa bỏ các dấu khoảng trắng từ chuỗi.

+3

Các cắt của yy là không cần thiết nhưng không gây ra vấn đề trong hai. – Fortranner

Các vấn đề liên quan