问题是最后a的值是多少.
var a,b:integer;
ch:char;
begin
b:=5;
a:=0;
for ch='x' to 'z' do
begin
if odd(b)then
a:=a+b;
b:=b+1;
end;
end;

解决方案 »

  1.   

    如果你用的是盗版,for循环的顺序有可能反过来,很随机.
      

  2.   

    对不起,我没吧问题说明白.
    for ch='x' to 'z' do
    这个语句是如何循环的?下一个ch的值是不是y?
    可不可以这样用字符做循环条件?在我这里编译通不过.就是这句错了
    [Error] Unit1.pas(34): For loop control variable must be simple local variable书上的答案是221
      

  3.   

    应该是12
    另外,这不是Object Pascal,程序修改语法错误后在tp7下可以运行通过。
    for ch:='x' to 'z' do其实等价与for i:=1 to 3 do
    我猜这个程序是用于说明char性质的
      

  4.   

    如果改为for ch:='a' to 'z' do答案就是221了
      

  5.   

    谢谢boilingsea(沸海听客)我已经明白是怎么回事了。20分请笑纳。