中易网

C语言里这条语句里的if 里面的,为什么执行不出来,即使我满足了他的条件

答案:3  悬赏:0  
解决时间 2021-03-15 16:08
int passwordcheck()//登陆信息检验函数
{
printf("\n\nPlease enter ur ID: ");
scanf("%s",ssub);
printf("\n\nPlease enter ur password ");
scanf("%d",&dsub);
if(strcmp(ssub,name)==0)//检验用户名
{
for(dsub;dsub!=password;dsub=dsub)//对密码进行检验
{
printf("\n\\nId or password is wrong , Please rewrite: ");
scanf("%d",&dsub);
}
}

else
{
printf("\n\nUr Id is wrong, Please rewrite: ");
}

}
ssub 和dsub 我都定义了,是全局变量
这是程序中的其中一个函数
name【】是个字符串全局变量我也已经在注册函数中定义了。
为什么每次执行不管我所输入的ssub 的字符串是不是和name 一样,都是执行else 那一栏。。
最佳答案
也就是说,你的ssub和name不相等,这里没有给出name到底是什么值,你回去看一下你的name是什么值,一般来说,如果你的用户名是固定的那么name应该用一个宏定义,那么,在函数内部可以定义一个局部变量保存输入的东西,然后再和name做比较,最好不要也一样使用全局变量,比如ssub。下边的for循环我看不懂你想表达什么意思,但是这种写法很怪
全部回答
1. 你要确定你的ssub是定义的数组,而不是单个字符,因为你输入的用户名应该是字符串。 2. 你的比较函数应该不会错,看看是不是定义的数组
这个不好转换为switch,其实 if 蛮好的,因为switch里面是对确定的整数进行匹配,你输入的是浮点数,还要转换为整数,麻烦,并且,输入的数也是一个范围,不是几个确定的东西,所以,最好用if,不过,如果你实在是要转换,我就帮你转换一下吧
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
票据都有付款提示期限吗
园林树木栽植有哪三个原则
和顺烧烤地址在哪,我要去那里办事
广州大学华软软件学院,广东白云学院哪间比较
求功夫熊猫1 双语字幕 下载链接
有没有办法让电表走慢点?不要走最好了!
工商银行卡丢了忘了密码,卡开通了网银怎么注
科幻故事400字作文
美迪惠尓面膜用了效果怎么样
一个男生,我本来有意跟他交往的,结果他请我
荧光漆能调和吗 蓝色和什么色调和后是天蓝色
生滚功夫粥地址在哪,我要去那里办事
一台pc机要扩充内存,装上内存条后却不能正常
QQ要修改密码,密保忘了,写真实的姓名身份证
盛大蓝庭D座这个地址在什么地方,我要处理点
推荐资讯
步步高家教机做一个活动方案
人真的能心想事成吗
五六十岁老人玩微用什么词赞她
父母可以怎么样教育孩子废物利用
淮南市国土资源局古沟国土资源所在什么地方啊
巴黎金色的雨是什么意思
爱玛电动车用了九个月,冲一次电管三天正常吗
号码吉凶对人有多大影响?
福清市海口工商所地址有知道的么?有点事想过
闺密关心我不领情闺密生气了怎么道歉,求一封
2015考研学硕304分 报考南开大学的电子科学与
莫守卡在哪里啊,我有事要去这个地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?