麻烦将此句翻译成C语言: type a=0..b end(20分)

  • 主题发起人 microwave
  • 开始时间
M

microwave

Unregistered / Unconfirmed
GUEST, unregistred user!
b 是一常量
type
a=0..b
end;
谢谢!
 

小笨苯

Unregistered / Unconfirmed
GUEST, unregistred user!
在C/C++中没有子界类型,你应该将具体问题说出来,让大家帮你解决。(好像没有什么功能
在Delphi中可以实现,而在C/C++中实现不了的)
 
M

microwave

Unregistered / Unconfirmed
GUEST, unregistred user!
我的问题就是,我正在写一个翻译程序,类似 gnu 的 p2c,想把 pascal 翻译成 c
但c中没有子界类型,所以我不知道如何翻译这部分了,
 
M

microwave

Unregistered / Unconfirmed
GUEST, unregistred user!
我用p2c,它翻译成了:
typedef unsigned char a;
const int min_a = 0;
const int max_a = b;
是什么意思?
 
Z

zw84611

Unregistered / Unconfirmed
GUEST, unregistred user!
if((a <= max_a)&amp;&amp;(a >= min_a))...
也就是说没有直接的转换方法
 
M

microwave

Unregistered / Unconfirmed
GUEST, unregistred user!
pascal 中还有哪些东西是C中没有的?
 
Z

zw84611

Unregistered / Unconfirmed
GUEST, unregistred user!
例如 with xxx do ...
 

小笨苯

Unregistered / Unconfirmed
GUEST, unregistred user!
>>pascal 中还有哪些东西是C中没有的?
不少啊!
又比如:Object Pascal语言中,过程或函数的参数可以分为数值参数、常量参数、变量参数、
无类型参数、外部参数、动态数组参数,C语言中可没有这么多说道。
对了,刚才说到“动态数组”,C语言中也没有啊。
另外,在Object Pascal中,如果一个过程的行参是一个数组的话,在调用时,可以直接这样写,
MyProc([1,2,3,4]);这在C语言中是不允许的啊!

总之,Pascal和C的差异还是不小的,要做解释器,工作量不小啊!佩服楼主啊!加油吧!
 
M

microwave

Unregistered / Unconfirmed
GUEST, unregistred user!
接受答案了.
 

Similar threads

S
回复
0
查看
947
SUNSTONE的Delphi笔记
S
S
回复
0
查看
768
SUNSTONE的Delphi笔记
S
D
回复
0
查看
879
DelphiTeacher的专栏
D
I
回复
0
查看
773
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部