我对编程语言 COBOL 的编译器有疑问。我使用程序“OpenCobolIDE”(GnuCOBOL 1.1 Mingw)。
首先这里是一个示例程序的代码。
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 name pic x(32).
PROCEDURE DIVISION.
beginn section.
DISPLAY "What is your Name?: " with no advancing.
accept name.
DISPLAY "Your Name: ",name .
STOP RUN.
END PROGRAM HelloWorld.
输入我的名字“Albert”后,控制台不会发回消息“Your Name: Albert”。控制台在“Albert”之后为空。但是如果我将字符串名称的长度设置为 6,因为我的名字是 6 个字符长,那么程序可以正常工作并且控制台显示“您的姓名:阿尔伯特”。
除此之外,该子句with no advancing
无法正常工作。当我使用此命令时,控制台不会打印“你的名字是什么?”,它会跳过该行,我必须先输入我的名字,输入我的名字后,控制台会显示:“你的名字是什么?:阿尔伯特”。但是在编译程序的 .exe 中,命令行with no advancing
可以正常工作。
为什么会这样,我该如何修复它?