PASCAL中

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:43:57
按照书上的
readln(x)等价于read(x);readln
但是。。
我试图从文本中读矩阵的时候。。
矩阵:
2 3 5
1 4 7

用下面的语句读没错。。
readln(a,b,c)
读取后读取指针能正确转移到下一行。。
据许读取下面的数。
但是我改成下面这样
read(a);
read(b);
read(c);
readln;
就会出错。。
生成的exe程序运行后不会自动关闭。。
输出文件也没有任何输出。。

但是,我在矩阵每一行末尾加上一个空格后又正常了。。。
是怎么回事?
readln有什么特殊的限制么?
跳到回车符上用readln不能读取当前的回车符么?
============
问题已经解决。。
程序没有任何问题。
是编译器的问题。 = =
PASCAL 2.0.0的BUG。。
换 2.2.0就号了。 = =

用read读入后,光标会自动跳到下一个字符,没有空格的话会跳到回车符上,大概就是出错的原因。并且read和readln不是等价的拉,有点区别的
当然不能啊,读取的都是光标后的第一个字符,比如read(a);后,光标在’2’后的空格符处,接下来read(b);就会读取空格符后的’3’.
readln单独用的时候是读取回车符的,读不到回车符就会出错嘛~(本人只是noip新手,仅供参考,市里考试只有85分左右)