pascal问题 ch:=#8;
来源:百度知道 编辑:UC知道 时间:2024/05/20 22:18:50
这是在一个pascal程序里看到的语句,ch是字符型变量,这个赋值语句是什么意思呀?为什么在数字前面加一个'#'呀?
根据你的提示我试了一下,发现你对了一半,确切地说ch:=#8应该等同于ch:=chr(8)而不是它的反函数ch:=ord(8).
因为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时,它是控制字符,无法显示。