var
a,b,c:integer;

と、宣言した上で、a,b にいろいろ値を入れた後、

c:=trunc(a/b);

を実行すると、たまに不正な小数点演算 というエラーが出ます。

宣言を

var
a,b,c:integer;
d,e:double;

として、

d:=a;
e:=b;
c:=trunc(d/e);

とすると、特にエラーが出ません。
Delphi7 です。何ですかね、これ。