C++程序问题,请高手帮忙调试

#include<stdio.h>#include<stdlib.h>intmain(void){charstr[258],str2[258],a,b;printf("请... #include <stdio.h>
#include <stdlib.h>
int main(void)
{
char str[258],str2[258],a,b;
printf("请输入密码,按回车键结束:\n");
a=scanf("%s",str);
printf("请重复密码,按回车键结束:\n");
b=scanf("%s",str2);
if (a==b)
printf("密码正确!\n");
else
printf("密码错误!\n");
system("pause");
return 0;
}
展开
 我来答
果建翼
2010-02-10 · TA获得超过7940个赞
知道大有可为答主
回答量:1684
采纳率:0%
帮助的人:2590万
展开全部
一楼 小神龙飞呀飞 搞笑了,看来你的C语言也是半生不熟啊。
str和str2本来就是字符数组名,传入scanf与%s匹配完全正确。不知道一楼是咋调试的,居然还说“调试好的程序”。

楼主的问题在于比较两个密码应该比较str和str2,而不是比较a和b。
比较字符串要用strcmp函数,返回0表示相等。

应该如此改:(GCC调试通过)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
char str[258],str2[258],a,b;
printf("请输入密码,按回车键结束:\n");
a=scanf("%s",str);
printf("请重复密码,按回车键结束:\n");
b=scanf("%s",str2);

/*strcmp是比较两个字符串的函数,返回0表示相等,要包含头文件string.h*/
if (strcmp(str,str2)==0)
{
printf("密码正确!\n");
}
else
{
printf("密码错误!\n");
}
system("PAUSE");
return 0;
}
小神龙飞呀飞
2010-02-10 · TA获得超过496个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:263万
展开全部
调试好的程序:楼主忘写& 符号了
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char str[258],str2[258],a,b;
printf("请输入密码,按回车键结束:\n");
a=scanf("%s",&str);
printf("请重复密码,按回车键结束:\n");
b=scanf("%s",&str2);
if (a==b)
printf("密码正确!\n");
else
printf("密码错误!\n");
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ck659
2010-02-10 · TA获得超过1589个赞
知道小有建树答主
回答量:1650
采纳率:0%
帮助的人:656万
展开全部
一楼在胡扯,scanf输入字符串的返回值是读取的字符串长度。
长度一致并不能说明字符串匹配。 所以要用strcmp来比较获取的两个字符串是否一致。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char str[258],str2[258];

printf("请输入密码,按回车键结束:\n");
scanf("%s",str);

printf("请重复密码,按回车键结束:\n");
scanf("%s",str2);

if (strcmp(str, str2)==0)
printf("密码正确!\n");
else
printf("密码错误!\n");
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zz86633721
2010-02-10 · TA获得超过299个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:332万
展开全部
同意2楼的观点;这个比较 没有意义;应该strcmp 比较字符串 ;但是scanf并不是 返回读取字符串长度 而是返回被成功赋值的 变量数;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式