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();
}
}
}
279

被折叠的 条评论
为什么被折叠?



