文件结束符EOF编译在Digital Mars 8.5 C语言编译器的问题!

Zijian_Zhang Zijian_Zhang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
本人用的编译器有很多,编译同一个代码:
#include <stdio.h>
int main (void)
{
while(getchar() != EOF)
continue;
printf("你已经输入了EOF,请按回车键继续:");
getchar();//但是在这里,我没有按回车程序已经执行到下一步了
printf("你已经输入了回车键");
return 0;
}


我已经编译在GCC 4.4、Intel C++、Visual C++ 2008、Borland C++ 5.5都运行正常。

但是惟独是Digital Mars 8.5 C/C++编译器有问题。

正常结果应该是:

^Z
你已经输入了EOF,请按回车键继续:[按一下回车键]
你已经输入了回车键

但是在Digital Mars 8.5 C/C++是:

^Z
你已经输入了EOF,请按回车键继续:你已经输入了回车键

根本没按回车就已经执行下一个步骤。

请问是我的代码问题还是是编译器的问题??谢谢。
...全文
评论 38
收藏 已收藏
分享
返回顶部
Zijian_Zhang
C语言 70,039 成员 243,237 内容