gpt4 book ai didi

pascal - 在 Pascal 中类型检查

转载 作者:行者123 更新时间:2023-12-04 18:48:29 26 4
gpt4 key购买 nike

我只是想知道如何在 pascal 中进行类型检查?我已经搜索了几个小时,但我找不到任何有用的东西。

例子:

var 
number: Integer;

begin
write('Enter a number: ');
read(number);

if {How am I supposed to check if 'number' is an Integer here?}
then writeln(number)
else writeln('Invalid input')
end.

最佳答案

您实际上是在执行 I/O 类型检查。您可以通过暂时禁用它然后检查结果来解决此问题:

 {$I-}  //turn off IO checking temporarily
read(i);
{$I+} // and back on

if ioresult=0 then // check the result of the last IO operation
writeln('integer successfully read:',number)
else
writeln('invalid input');

注意:典型的答案通常是“只需读取一个字符串并自己进行转换”,但是如果不对终端类型做出假设,很难很好地做到这一点。

对于您只想要一些经过验证的输入的清晰和简单的程序,上述技巧(以及在错误时重复的循环)就足够了。

关于pascal - 在 Pascal 中类型检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10052076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com