cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 3075|回复: 10

以假乱真Pascal

[复制链接]
发表于 2010-8-7 09:04:46 | 显示全部楼层 |阅读模式
  1. #include <stdio.h>
  2. #define begin int main()
  3. #define end return 0;
  4. #define writeln(a) printf(a);
  5. begin
  6.      writeln("I'm not Pascal!!!");
  7. end
复制代码
发表于 2010-8-7 10:00:16 | 显示全部楼层
………………………………
#号就能说明一切了…………
发表于 2010-8-7 10:10:38 | 显示全部楼层
#define begin int main()

#define end return 0;

#define writeln(a) printf(a);




...
发表于 2010-8-7 13:44:31 | 显示全部楼层
等效替换……
发表于 2010-8-7 16:39:31 | 显示全部楼层
Pascal是
  1. Begin
  2.   writeln('I'm pascal.')
  3. End.
复制代码
注意标点符号
发表于 2010-8-7 18:32:47 | 显示全部楼层
LS正解
发表于 2010-8-8 10:08:55 | 显示全部楼层
同上
发表于 2010-8-8 10:25:06 | 显示全部楼层
我就想能不能搞一个Pascal-C++编译器
把那堆Define都放到头文件,然后把Pascal程序放进来,再替换几个不同的语法(如字符串表示方法)即可
发表于 2010-8-8 10:48:02 | 显示全部楼层
  1. Begin
  2.   writeln('I''m pascal.');
  3. End.
复制代码
发表于 2010-8-8 11:22:42 | 显示全部楼层
8# zhj

某oj网站提供这个服务,具体哪个忘记了。。
发表于 2010-8-10 13:04:19 | 显示全部楼层

  1. Begin
  2.   writeln('I''m pascal.');
  3. End.
复制代码
上面的语法是不正确的,虽然自Turbo Pascal7之后编译器的容错能力得到了增强,但这样的写法仍然是不规范的。
Pascal语法规定:语句和语句之间使用分号分隔。end不是语句。
正确的语法:

  1. begin
  2.   writeln('I''m pascal.')
  3. end.
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-12-21 22:27 , Processed in 0.098795 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表