定义:一个程序切片是由程序中的一些语句和判定表达式组成的集合.这些语句和判定表达式可能会影响在程序的某个位置(常用行号标识)p上所定义的或所使用的变量v的值。
所谓程序切片是指通过分析程序的数据依赖和控制依赖而达到自弯裤动分解源程序的一埋游简种方法.其中数据依赖揭示了语句间存在的数据流方面的内在联系而控制依赖则揭示了语句间存在的控制流的内在联系。
程序P的切片S是P的一个可执行部分,对某个兴趣点s处的变量v而言,这个可执行部分相对于程序P,在功能上是等效的[1].程序切片S由程序P中可能影响s处变量v的值的所有语句组成。
程序磨瞎切片是一种分析和理解程序的技术,是通过对源程序中每个兴趣点分别计算切片来达到对程序的分析和理解.程序中某个兴趣点的程序切片不仅与在该点定义和使用的变量有关,而且与影响该变量的值的语句和谓词以及受该变量的值影响的语句和谓词有关.
#include <stdio.h>#include <string.h>
// 将str字符以spl分割,存于dst中,并返大没搏回子字符串数量
int split(char dst[][80], char* str, const char* spl)
{
int n = 0
char *result = NULL
result = strtok(str, spl)
while( result != NULL )
{
strcpy(dst[n++], result)
result = strtok(NULL, spl)
}
return n
}
int main()
{
char str[] = "what is you name?"
滚祥 char dst[10][80]
int cnt = split(dst, str, " ")
for (int i = 0 i < cnt i++)
察皮 puts(dst[i])
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)