3 ms·
Typecasts seem to trip it up, it replaces the check with if (unsigned char then 255) + ((unsigned char) 255) = 510 then begin
by badsectoracula 8y ago
Typecasts seem to trip it up, it replaces the check with
if (unsigned char then 255) + ((unsigned char) 255) = 510 then begin
- avuxo 8y agoI'm not particularly familiar with Delphi, but the issue here appears to be a combination of parenthetical grouping not being picked up and the program not knowing that "unsigned char" should become "byte". Ex: unsigned char a = 255; unsigned char b = 255; if ((a + b) == 510) { puts("yes"); } becomes unsigned char a = 255; unsigned char b = 255; if a + b then = 510 then begin WriteLn('yes'); end; instead of var a,b: byte; begin a := 255; b := 255; if (a + b) = 510 then begin writeln('yes'); end; It's also worth noting that assuming parenthetical grouping is fixed, the C code snippet should work fine; according to the online compiler I was toying around with, Pascal uses integer type promotion.