delphi高手进~啊!

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:15:53
有如下程序,请看代码,它是一个控制台程序:
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
a, int,b : integer;
begin
write('本程序用于求1到n的和,请输入操作数n:');
readln(int);
if int<0 then
begin
writeln('n的值不能为负数。');
writeln('按Enter退出。');
readln;
Exit;
end
else
for a:=1 to int do
b:=b+a;
writeln(b);
writeln('按Enter退出。');
readln;
end.
运行程序,输入100,可是结果为:2147341242,我们知道结果应该为:5050,是吧,我把代码给改了,看下面代码:
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
a, int,b : integer;
begin
write('本程序用于求1到n的和,请输入操作数n:');
readln(int);
b:=0;
if int<0 then
begin
writeln('n的值不能为负数。');
writeln('按Enter退出。');
readln;
Exit;
end
else
for a:=1 to int do
b:=b+a;
writeln(b);
writeln('按Enter退出。');
readl

声明的变量在使用前初始化,是个良好的做法.
不管什么类型的,因为你声明变量的时候,其实也就是给这个变量分配个内存空间, 编译器不会去帮你做初始化这个工作,特别是数字类的变量,很难知道里面是啥.

delphi中也不会给上初始值的,,
一般一个变量没有赋值拿来就用,编译器会给出警告的.

整型要赋值,字符串不用