首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

段异常,内存哪里分配出现有关问题啊求大神

2012-03-19 
段错误,内存哪里分配出现问题啊?求大神#includestdio.h#includestring.hint main(){char *c1,*c2int

段错误,内存哪里分配出现问题啊?求大神
#include<stdio.h>
#include<string.h>

int main(){
char *c1,*c2;
int flag=0;
for(;;){
printf("请输入你的账号:\n");
scanf("%s",c1);
printf("请输入你的密码:\n");
scanf("%s",c2);
flag++;
if(strcmp(c1,"admin")==0&&strcmp(c2,"123456")==0){
printf("恭喜你,登陆成功\n");
break;
}
else if(flag==3){
printf("对不起,你账号已被锁定,请联系管理员…\n");
break ;
}
else printf("输入账号或密码错误,请重新输入\n");
}
return 0;
}

[解决办法]
char *c1,*c2;
你这压根就没分配内存啊
改成
char c1[100];
char c2[100];吧
[解决办法]
char *c1,*c2;
只是声明,还没有分配内存空间。这样是个野指针(不知道指向什么地方),你指针这样来解引用访问会出现访问不该访问的地方,因而会出现段错误。
[解决办法]
应该是指针的问题,你试试

热点排行