pascal问题 ch:=#8;

来源:百度知道 编辑:UC知道 时间:2024/05/20 22:18:50
这是在一个pascal程序里看到的语句,ch是字符型变量,这个赋值语句是什么意思呀?为什么在数字前面加一个'#'呀?
根据你的提示我试了一下,发现你对了一半,确切地说ch:=#8应该等同于ch:=chr(8)而不是它的反函数ch:=ord(8).
因为ch在这边是字符型的,所以最终的赋值结果也应该是字符型而不是整型的,否则就会提示类型错误.
不过还是要谢谢你,让我明白了#这个符号的用法.

nnmyself的答案里

等同于
ch:=ord(8);

应该该为

等同于
ch:=CHR(8);

CHR(8)即ASCII码=8的字符(Crtl-H)

VK_BACK = 8;

ch:=#8;
等同于
ch:=ord(8);

ASCII码实际上是将数字与字符一一对应,
如‘A’对 65
'1' 对 49

chr(65)='A'
chr(49)='1'
这是将数字转换成它对应的字符。
是将integer转换成char。

这是它的反函数,将字符转换成它对应的数字。
是将char转换成integer。
ord('A')=65
ord('1')=49

ch:=#8时,它是控制字符,无法显示。