pCurrentNode-》nCount=1;
if(pMemoNode==NULL)
___(5)___; *ppNode= pCurrentNode
else if(nStrCmpRes》0)
pMemoNode-》pRight=pCurrentNode; else
pMemoNode-》pLeft=pCurrentNode;
void midorder(FILE* pFile,BNODE* pNode)
midorder(pFile,pNode-》pLeft);
fprintf(pFile, %s %d\\n ,pNode-》szWord,pNode-》nCount);
midorder(pFile,pNode-》pRight);
void main
FILE* pFile=NULL;
BNODE* pRootNode=NULL;
char szWord[MAX_WORD_LEN]={0};
pFile=fopen(SOURCE_FILE, r );
if(pFile==NULL)
printf( Can't open file %s\\n ,SOURCE_FILE); return;
while(getword(pFile,szWord,MAX_WORD_LEN)==1)
binary_tree(___(7)___); pRootNode,szWord
fclose(pFile);
pFile=fopen(OUTPUT_FILE, w );
midorder(pFile,pRootNode);
fclose(pFile);
三. 附加题(每题30分,2题,共60分)
1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问
#include
#include
#define MAX_NAME_LEN 20
struct USERINFO
int nAge;
char szName[MAX_NAME_LEN];
void FillUserInfo(USERINFO* parUserInfo)
stu::cout《《 请输入用户的个数: ;
int nCount=0;
std::cin》》nCount;
for(int i=0;i
std::cout《《 请输入年龄: ;
std::cin》》parUserInfo[i]-》nAge;
std::string strName;
std::cout《《 请输入姓名: ;
std::cin》》strName;
strcpy(parUserInfo[i].szName,strName.c_str);
int main(int argc,char* argv)
USERINFO arUserInfos[100]={0};
FillUserInfo(arUserInfos);
printf( The first name is: );
printf(arUserInfos[0].szName);
printf( \\n );
return 0;
2. 假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机
制来安全有效的中止所有的线程?请描述其具体流程.
腾讯笔试题(二)