向大佬求助
又重新修改了一遍,运行到一半就中断了,不知道为什么? #include<stdio.h>
程序代码:#include<stdlib.h>
#define Max 10
#include <string.h>
typedef struct Log
{
char account[10];
char password[10];
}Log;
typedef struct LOG
{
Log St[Max];
int n;
}LOG;
int main()
{
char account1[10],password1[10];
LOG *sts;
Log St[Max];
Log log;
int i=0,choose=1;
FILE *fp = NULL;
char flag = 'y';
fp = fopen("text2.txt","a");
if(fp == NULL)
{
printf("文件打开失败!\n");
return -1;
}
while(flag == 'y'||flag == 'Y')//注册过程
{
printf("***********************\n");
printf("请输入您想要注册账号:\n\n");
scanf("%s",&log.account);
printf("请输入您想要注册密码:\n\n");
scanf("%s",&log.password);
printf("***********************\n");
fprintf(fp,"账号:%-10s密码:%-10s",log.account,log.password);
fputc('\n',fp);
fflush(stdin);
printf("继续输入吗,请输入y或Y\n");
scanf("%c",&flag);
}
sts->St[sts->n]= log;
sts->n++;
while(choose==1)
{
printf("***********************\n");
printf("账号是:");
scanf("%s",&account1[10]);
printf("\n");
printf("密码是:");
scanf("%s",&password1[10]);
printf("***********************\n");
printf("稍等片刻\n");
for(i=0;i<sts->n;i++)
{
if(strcmp(account1,sts->St[sts->n].account)>0 && strcmp(password1,sts->St[sts->n].password)>0)
{
printf("登录成功\n");
choose == 0;
break;
}
else
{
printf("账号或密码错误\n");
choose == 1;
break;
}
}
}
return 0;
}
[此贴子已经被作者于2017-12-20 16:06编辑过]








,关于第一个结构体是 结构体Log 有 account[10](账号),password[10](密码) 而第二个结构体LOG存在一个集合(该集合是第一个结构体 所以是Log St[Max].而n是用来表示有多少个,后来表示乱了。