ABAP 变量没有作用域

C 语言的变量有一个作用域,超过作用域后,会被释放。 进入作用域时,变量又重新被赋值。

ABAP解释性语言,如果在程序中定义变量,会同C语言一样吗?

REPORT ZTEST2.


DO 5 TIMES.
    DATA K TYPE I VALUE 0.
    K =  K + 1.
ENDDO.


WRITE:/ K.

上面这段ABAP程序,在程序中部定于变量,该变量看起来被 DATA定义了5次,但是实际结果DATA 只在程序中使用了一次。

最后结果可以说明这个问题:


而C的代码 int k = 0变量定义,确实真真的被执行了5次:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            int i = 0;
            do
            {                
                i++;
                int k = 0;
                k = k + 1;
                Console.WriteLine(k);
            }
            while (i != 5);           

            Console.ReadLine();
        }
    }
}

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值