tw2382.pp 643 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. var
  2. sa : array[0..2] of char;
  3. s: string;
  4. begin
  5. sa := '';
  6. s := sa;
  7. if length(s) <> 0 then
  8. begin
  9. writeln('error 0');
  10. halt(1);
  11. end;
  12. sa := 'a';
  13. s := sa;
  14. if length(s) <> 1 then
  15. begin
  16. writeln('error 1');
  17. halt(1);
  18. end;
  19. sa := 'ab';
  20. s := sa;
  21. if length(s) <> 2 then
  22. begin
  23. writeln('error 2');
  24. halt(1);
  25. end;
  26. sa := 'abc';
  27. // check for possible overflow in assignment
  28. s[4] := '1';
  29. s := sa;
  30. if length(s) <> 3 then
  31. begin
  32. writeln('error 3');
  33. halt(1);
  34. end;
  35. if s[4] <> '1' then
  36. begin
  37. writeln('error 4');
  38. halt(1);
  39. end;
  40. end.