啊哈磊_编程从这里起步
标题:
各位同学,看看这哪里错了
[打印本页]
作者:
跳跳糖
时间:
2014-4-6 12:29
标题:
各位同学,看看这哪里错了
#include<stdio.h>
#include<string.h>
main()
{
char a[11],b[10],c[11],d[10];
int i;
a[14]="tanglulian";
b[10]="130431312";
printf("登陆\n");
for(i=1;i;i++)
{ printf("请输入用户名:");
scanf("%s",c);
printf("请输入密码:");
scanf("%s",d);
if (strcmp(a[11],c[11])==0&&strcmp(b[10],d[10])==0)
{
printf("您已成功登陆\n");
break;
}
else
printf("用户名或密码无效\n");
}
}
作者:
981013
时间:
2014-4-6 15:04
a[14]="tanglulian";
复制代码
该句指给a的第15个元素赋值为"tanglulian",有两个错误:
a一共只有14个元素(a[0]-a[13]),没有第15个元素
a[n]是一个字符,而非字符串,不能赋给它一个字符串值
改成这样:
strcpy(a,"tanglulian");
strcpy这个函数负责把后面的一个字符串的值拷贝到前一个里
接下来一句也是同样的错误。
还有
if (strcmp(a[11],c[11])==0&&strcmp(b[10],d[10])==0)
复制代码
应改为
if (strcmp(a,c)==0&&strcmp(b,d)==0)
复制代码
记住C的字符串是当成字符数组(以\0结束)来处理的,不应使用=来赋值,
还有
char a[10];
复制代码
这里字符串变量的名字叫a,不叫a[10],a[10]会被当作a的第11个值(实际上并不能使用a[10]的值)。
作者:
rosynirvana
时间:
2014-4-6 21:10
981013 发表于 2014-4-6 15:04
该句指给a的第15个元素赋值为"tanglulian",有两个错误:
a一共只有14个元素(a[0]-a[13]),没有第15个 ...
他定义的a是char a[11];
地道点的写法是
char a[11] = "tanglulian";
而不是用函数
作者:
跳跳糖
时间:
2014-4-7 12:32
知道了,谢谢你们
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2