未使用的局部变量(pascal)

时间:2016-09-12 23:15:45

标签: variables pascal

它一直说i,cont和divisor没有被使用,我无法弄清楚为什么,everthing在某些时候被合并和使用。

我可以使用命令提示符编译它,但它不显示应该显示的内容,因此它显示了simbols,如果我尝试另一个编译器,它只显示未使用的局部变量消息它不是一个错误它只是说:注意局部变量“i”未使用

这是代码

program tarea1;

var 

n,m,i,divisor,cont: integer;

begin

readln(n);
readln(m);


if (n<1) or (m<n) then
end.

i:=n;

for i to m do
  begin 

divisor:=2;

while (sqrt(i) >= divisor) and (i mod divisor <> 0)  do
divisor:=divisor + 1;

if (divisor > sqrt(i)) then
writeln(i': es primo')

else

   begin

for i to (i div 2) do
     begin

divisor:= 2;
cont:= 0; 
write(i':');

repeat
  if i mod divisor = 0 then
      begin

write(' divisor ');
divisor:=succ(divisor);
cont:=succ(cont);

until cont = 6;
writeln();
             end;
        end;
    end;
end;
end.

1 个答案:

答案 0 :(得分:3)

你的计划不像你想象的那么长。

第14行左右的代码是:

if (n<1) or (m<n) then
end.

这个“结束”。是源代码的结束 - 之后的所有内容都不是您程序的一部分!

如果你想终止你的程序,如果n小于1或m小于m,那么你应该写

if (n<1) or (m<n) then
    exit;