pascal中read和readln的区别

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:23:54

read和readln的区别在于readln读取到回车符为止,举个例子,输入数据有2行:
1 2 3 4
5 6 7 8

然后声明var a,b:integer;
当使用read时:
read(a); //a=1
read(b); //b=2
当使用readln时:
readln(a); //a=1
readln(b); //b=5

可以看出,在readln(a)一句时,系统读取了整行“1 2 3 4”,然后根据a是一个integer型变量,于是只截取了第一个数1,而执行readln(b)时,由于第一行已经读取过了,所以从第二行开始读取。虽然这个时候readln(b)和read(b)的作用是一样的,可以替换成read(b),但是过程不一样readln(b)读取了整行“5 6 7 8”,而read(b)只读取到第一个空格即“5 ”,也就是说,如果再读取一个integer变量,read(b)的情况下可以读取到6,而readln(b)则会发生无法读取的错误。

read 读一行的内容,但到了换行符就停止

readln 读一行内容,并且连同换行符一起读取

注:

1.换行符ascii码为10
2.windows平台下,换行往往是 回车+换行,ascii码为 13+10

没有区别,只是有一点点不同