delphi 递归中冒号的用法不是“:=”是“:”

来源:百度知道 编辑:UC知道 时间:2024/05/21 20:49:11
uses
SysUtils;
Var
M,N:integer;
C:char;
begin
{ TODO -oUser -cConsole Main : Insert code here }
C:='*';
for M:=0 to 12 do
begin
write(C:40-3*M);
for N:=1 to 2*M do
write(C:3);
writeln;
end;
readln;
end.

就是不理解这 C:40-3*M 和 C:3 的意思

这个应该是console程序吧,uses前会有{$APPTYPE CONSOLE}的.

这里用的是write的一种用法:
OutExpr [: MinWidth [: DecPlaces ] ]

OutExpr 输出表达式.
MinWidth:最小宽度,如果内容不够则在前面补空格.
DecPlaces: 输出是Real类型才用.

代码的意思就是在屏幕上打印*
冒号:后面的数字是在字符*前面加多少个空格.
C:3 就是在*前加3个空格.

c:3这个中间应该是个逗号吧,个人感觉c和3应该是2个参数,但如果这样,程序似乎没意义。