感谢
查了一下手册,strcmp函数相等时返回0,大于时返回1,小于是返回-1.
鬼出在了fgets函数,它往数组里多加了一个'\n'
[此贴子已经被作者于2018-1-4 17:38编辑过]
#include<stdio.h> #include<string.h> #define N 20 int main() { FILE*fp; char a; char mima[N]="yanglei10086"; char c[N]={0}; printf("请输入密码:\n"); gets(c); if(strcmp(c,mima)==0) printf("登陆成功\n"); else { printf("登陆失败\n"); printf("按任意键退出\n"); getch(); exit(0); } if((fp=fopen("ceshi.txt","w"))==NULL) { printf("打开失败\n"); exit(0); } printf("文件已打开,请输入内容:\n"); a=getchar(); while(a!='\n') { fputc(a,fp); a=getchar(); } fclose(fp); return 0; }