c里的i++用PASCAL 怎么表达(5分)

  • 主题发起人 主题发起人 aichuanheyan
  • 开始时间 开始时间
A

aichuanheyan

Unregistered / Unconfirmed
GUEST, unregistred user!
c里的i++用PASCAL 怎么表达
 
i := i+1 ?
不对啊,
 
怎么不对了?也可以写成inc(i);
 
i++: inc(i)
i--: dec(i)
 
自减呢!谢谢
 
inc()应该不是函数,编译器直接编译成 一句汇编.
 
都已经说了自减是dec(i)了阿
 
i++: inc(i)
i--: dec(i)
 
c:
int a,b;
b = 3;
a = b++;
RESULT:a=3,b=4

delphi
var a,b:integer;
b:=3;
a:=b;
inc(b);
RESULT:a=3,b=4
 
i++其实在Delphi里应该是没办法完全模拟的
比如
int i=0,j=0;
j=i++;
结果就是j==0 i==1;
在Delphi里没办法一句完成
只能拆开
i,j:integer;
i:=0;
j:=0;
j:=i;
inc(i);
但是复杂的呢
比如
int i=0,j=0;
j=(i++)+(++i);
结果就是 j==2;i==2;
这个如果要用Delphi写就是

i,j:integer;
i:=0;
j:=0;
inc(i);
j:=i+i;
inc(i);
所以,i++和++i不是Delphi可以轻易模拟的。要小心对应。
不过我想应该没有人写j=(i++)+(++i);这种BT的语句吧
 
说明C的语法就是过度的追求简洁,可读性大差,而使编译速度下降.
而pascal的语法更接近汇编,所以编译速度快.
 
后退
顶部