c++初学者请问一个简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 12:24:50
#include<string>
#include<stdlib.h>
#include<iostream>
using namespace std;
static int m=0,w=0;
struct people
{
char name[20];
char sex;
char hobby[10][20];
int hobby_num,match;
}men[20],women[20];
int newclient()
{
int i;
char sex;
cin>>sex;
if(m>19)
{
cout<<"You can't int more.";
return 0;
}
if(w>19)
{
cout<<"You can't int more.";
return 0;
}
if(sex=='m')
{
men[m].sex=sex;
men[m].match=-1;
cin>>men[m].name;
cin>>men[m].hobby_num;
for(i=0;i<men[m].hobby_num;i++)
{
cin>>men[m].hobby[i];
}
m++;
}
else if(sex=='f')
{
women[w].sex=sex;
women[w].match=-1;
cin>>women[w].name;
cin>>women[w].hobby_num;
for(i=0;

hobby[10][20]表示这个人的爱好最多可以有10个,而每个爱好的字符数不能超过20~

char hobby[10][20]就是一个char类型的二维数组
有10行,每行最多20个字符

en

这是个字符数组的定义啊

中括号中的是数组范围啊

解释就同楼上的
但注意下界是从0开始的到n-1

个人认为10代表10种hobby,20是1种hobby里的具体的类型。由于程序没有写完整并注意到match这个变量没有用到。只是一种猜测。