c语言的登录小程序那错了????
#include<stdio.h>
#include<stdlib.h> /*头文件和函数声明部分*/
void abc(int ,int );
void def(char *,char *);
void main()
{char* a[1]={"ghost_haha"}; char* b[1]={"ghost"};char c,d;int g=0,h=0,m=0,n=0;
printf("login: ");
scanf("%c",&c);
fflush(stdin);
printf("passwold: "); /*输入.检测和函数调用部分*/
scanf("%c",&d);
fflush(stdin);
if(c==*a[0]&&d==*b[0])
{abc(g,h);}
else
{printf("You can try again,You have three chances to reenter it ");
def(a[0],b[0]);}
}
void abc(int i,int j)
{int a=0,b=0,c=0,d=0;
printf("Wlcome to the server ");
printf("And what do you want to enter? ");
printf("History:1 Data:2 Command:3 About us:4 please enter a number enter: ");
do
{scanf("%d",&a);
b=a;
switch(a=b)
{case 1:printf("2018/7/1");break;
case 2:printf(" the PC");break;
case 3:printf("ping,netstat,net,start");break;
case 4:printf("We ");break;
}
while(a!=-1);
}
void def(char *k,char *l)
{char a=0,b=0;int c=0,d=0,e=0;
do
{printf("login: ");
scanf("%c",a);
fflush(stdin);
printf("passworld: ");
scanf("%c",b);
fflush(stdin);
if(a==*k&&b==*l)
{abc(d,e);}
else
{printf("please try again ");
++c;}}
while(c<3)
}
函数abc里do while循环缺少后半个},导致后面都报错了
还有后面有几个scanf没有对变量取地址,例如scanf("%c",a);应该改为scanf("%c",&a);