var cp:integer;
label 1,2,3,4;
begin sp:=0;num:=n;
      x:=a;y:=b;z:=c;
cp:=1;      
repeat
      case cp of
           1:if num>0 then
             begin push(2);
                   num:=num-1;
                   swap(y,z);
                   cp:=1
             end
             else cp:=4;
           2:begin print(num,x,z);
                   push(3);
                   num:=num-1;
                   swap(x,y);
                   cp:=1
             end;
           3:cp:=4;
           4:pop();
      end     
until sp=0;以上是我的一段程序,但是编译出现警告:
Warning: Label not defined "1"
Warning: Label not defined "2"
Warning: Label not defined "3"
Warning: Label not defined "4"请问在Pascal里面如何使用整数标号呢?

解决方案 »

  1.   

    说实话,用Delphi很多年了,从来没有用过goto。^_^
      

  2.   

    label 1,2,3,4;
    /////////////////
    是不是应该1,2,3,4:label;
      

  3.   

    不过程序当中最好不要用Goto!!!
      

  4.   

    看到书上有个例子:label outflag;你的定义应该没问题吧?不用数字用ABCD试试
      

  5.   

    label 1,2,3,4;
    begin
    1:
    showmessage('1');
    2:
    showmessage('2');
    3:
    showmessage('3');
    4:
    showmessage('4');
    end;定义后要应用现在的程序应该不用GOTO
      

  6.   

    现在的程序应该因该少用GOTO,但不是不可以用!Goto在某些时候能省你很多的iflabel 1,2,3,4我没这样用过我猜原因可能是,(1)数字可以可以做标号?(2)标号间是否用逗号隔开,或者一行能不能定义多个标号,(1)的可能性大些,这样来试试:label Mylabel1;label Mylabel2;如果不行找帮助,肯定有语法说明和例子。
      

  7.   

    label 应放在Var之前,标号第一个字符必须为英文字母
      

  8.   

    好了,是应该结束了。我的程序是没问题的。我之前是用free pascal编译的,
    就出现了上面的警告,但是是可以正常运行的。之后我改用turbo pascal之后
    警告就没有了,也可以正常运行。
      

  9.   

    用GOTO又有什么问题呢?现在的人都说GOTO不好怎么样的,其实是因为我们中国人看得太多中国的教材了,形成一种:反正GOTO就是不好,应该不用。本本书都说什么什么的,当又正真有多少人认真的想一想呢?其实有些时候用GOTO是方便和容易理解的,我这样讲不是说上面的程序写得好,而是希望我们不过被教科书牵着走,学计算机的要学会自己思考,不要书上说什么就尽信什么!
      

  10.   

    第一次看到有用GOTO的人.
      

  11.   

    To:  maijian(asmvc)
            有道理