阅读下列说明,回答问题。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
int XOR(char * filename,unsigned long key){FILE * input = NULL , *output =NULL; //ichar * outfilename = NULL;int len = strlen(filename);unsigned char buffer;if( (filename[len-2] == '.')&& (filename[len-1] == 'c') ) { //2,3outfilename = new char[len+1];//4strcpy(outfilename, filename);outfilename[len-2] = '\0';}else{ //5outfilename = new char[len+5];strcpy(outfilename, filename);strncat(outfilename,".c",2);}input =fopen(filename,"rb");if( input == NULL) { //6cout << "Error opening file " << filename << endl;//7delete [] outfilename;outfilename = NULL;return 1;}output =fopen(outfilename,"wb");if( output == NULL ) { //8cout << "Error creating output file " << outfilename << endl;//9delete [] outfilename;outfilename = NULL;return 1;}while( ! feof(input) ) {//10if(fread(&buffer,sizeof(unsigned char),1,input) != 1 ) { //11if( ! feof(input) ) { //12delete [] outfilename;//13outfilename = NULL;fclose(input);fclose(output);return 1;}}else{ //14buffer ^= key;fwrite(&buffer,sizeof(unsigned char),1,output);}}fclose(input); //15fclose(output);delete [] outfilename;return 0;}
请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.
相关热点: 复杂度
有疑问?点此联系我们
收藏该题
查看答案
![](http://img.timuw.com/static/timuw/img/search_icon.png)