int iPassCode, iNumber = 0;
void main()
{
iNumber = get_name();
iPassCode = get_code();
name_strucutre();
}
int get_name()
{
printf("Please enter your name: ");
cName[MAX_NAME_LEN] = getchar();
if(strcmp(cName,"leia"||"Leia"))
{
iNumber = 1;
}
if(strcmp(cName,"darth"||"Darth"))
{
iNumber = 2;
}
if(strcmp(cName,"r2d2"||"R2D2"))
{
iNumber = 3;
}
if(strcmp(cName,"solo"||"Solo"))
{
iNumber = 4;
}
if(strcmp(cName,"jabba"||"Jabba"))
{
iNumber = 5;
}
if(strcmp(cName,"yoda"||"Yoda"))
{
iNumber = 6;
}
else
{
iNumber = 0;
}
return(iNumber);
}
int get_code()
{
printf("Please enter your pass code: ");
scanf("%d", iPassCode);
return (iPassCode);
}
我在这里得到了几个函数。其中之一,我认为它的get name()
功能正在导致程序崩溃。现在我所要做的就是收集用户的姓名和密码,并将信息传递回main()
。尽管只是一个单数,我不想把整个名字都传回去。c读取字符串导致崩溃
'MAX_NAME_LEN' ??? ??? –
'“leia”||“Leia”并没有做你认为正在做的事情。您需要两个单独的'strcmp'调用或一个'stricmp'变体。 (你错过了某个西斯主的小写版本)。 – Bathsheba
'#define MAX_NAME_LEN 42'忘了提及我在开始时有这个 – JMBTaylor