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

好像是字符越界,运行出现乱码,请各位大神帮帮忙,哪里出错了?如何改?多谢

2013-08-01 
好像是字符越界,运行出现乱码,请各位大神帮帮忙,哪里出错了?怎么改?谢谢!/******************************

好像是字符越界,运行出现乱码,请各位大神帮帮忙,哪里出错了?怎么改?谢谢!
/************************************************************************/
/* 模拟用户登录                                                         */
/************************************************************************/
#include<stdio.h>
#include <string.h>
int main()
{
char *user; //保存用户原有用户名
char *password; //保存用户原有密码
char user_1[20]; //保存用户输入的用户名
char password_1[20]; //保存用户输入的密码
int count=3;  //控制用户输入次数
user="sdlangking"; 
password="zvz12c";  
printf("用户登录:\n");
while (count--)
{
printf("用户名:%s\n",user_1);
//fgets(user_1,20,stdin); //提示输入用户名

printf("密  码:%s\n",password_1);
fgets(password_1,8,stdin); //提示输入用户密码
//判断用户名与密码是否与原有用户名,密码相同
if (strcmp(user,user_1)==0&&strcmp(password,password_1)==0) 
{
printf("登录成功!\n");
}
else
{
printf("登录失败!请重新输入!\n");
}
}
printf("三次登录失败,请联系管理员!\n");
return 0;
} 乱码 C
[解决办法]
code=c]
char user_1[20]; //保存用户输入的用户名
char password_1[20]; //保存用户输入的密码
[/code]
没有初始化,后文就使用了输出


printf("用户名:%s\n",user_1);

[解决办法]

if (strncmp(user,user_1,sizeof(user_1))==0&&strncmp(password,password_1, sizeof(password_1))==0) 

[解决办法]

#include<stdio.h>
#include <string.h>
int main()
{
char *user; //保存用户原有用户名
char *password; //保存用户原有密码
char user_1[20] = {0}; //保存用户输入的用户名
char password_1[20] = {0}; //保存用户输入的密码
int count=3;  //控制用户输入次数


user="sb"; 
password="120";  
printf("用户登录:\n");
while (count--)
{
printf("用户名:\n");
fgets(user_1,20,stdin); //提示输入用户名

printf("密  码:");
fgets(password_1, 20,stdin); //提示输入用户密码
//判断用户名与密码是否与原有用户名,密码相同
if (strcmp(user,user_1)==0&&strcmp(password,password_1)==0) 
{
printf("登录成功!\n");
}
else
{
printf("登录失败!请重新输入!\n");
}
}
printf("三次登录失败,请联系管理员!\n");
return 0;
 } 

热点排行