騰訊技術類校園招聘筆試試題及答案(5)
三. 附加題(每題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;
}