阅读下列说明,回答问题。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由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.

相关热点: 复杂度  

查看答案

相关问题推荐

  • 下列叙述中正确的是()

    A.一个算法的空间复杂度打,则其时间复杂度也必定大

    B.一个算法的空间复杂度大,则其时间复杂度也必定小

    C.一个算法的时间复杂度大,则其空间复杂度也必定小

    D.算法的时间复杂度与空间复杂度没有直接相关

    查看答案
  • 关于基金风险指标的计算
    查看答案
  • 变更签字资料收集都需要那些人
    查看答案
  • 下列属于外加剂材料的外观质量检查内容的是()。A、受潮B、腐蚀C、结块D、细度
    查看答案
  • 《水工混凝土施工规范》(SL677-2014)和《水利水电工程单元工程施工质量验收评定标准—混凝土工程》(SL632-2012)规定,混凝土强度的检验评定应以()抗压强度为准,无配筋或少筋的大体积C25混凝土,当混凝土的抗压强度保证率≥()%,抗压强度标准差≤()%时,混凝土质量可以评定为优良。
    A.设计龄期

    B.80

    C.85

    D.4.0

    E.4.5
    查看答案
  • 混凝土重力式竖向模板用作永久模板的条件有
    查看答案
  • 偈颂三十首 其二十五诗词简繁体_译文_作者_创作背景
    查看文章
  • 偈颂七十六首 其二十七诗词简繁体_译文_作者_创作背景
    查看文章
  • 偈颂一百零四首 其十八诗词简繁体_译文_作者_创作背景
    查看文章
  • 偈颂一百零二首 其四十五诗词简繁体_译文_作者_创作背景
    查看文章
  • 偈颂八十七首 其六十七诗词简繁体_译文_作者_创作背景
    查看文章
  • 偈颂八十七首 其二十三诗词简繁体_译文_作者_创作背景
    查看文章