标题:第15行如果字符串yhm和yhm1相等就返回0,然后if语句再判断0为假所以不输出p ...
只看楼主
不吃洋葱
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2021-11-18
结帖率:100%
 问题点数:0 回复次数:4 
第15行如果字符串yhm和yhm1相等就返回0,然后if语句再判断0为假所以不输出printf中的东西对吗?求大神的解释!
#include<stdio.h>
#include<string.h>
int main()
{
    char yhm[20]={"zzk"};
    char mima[20]={"yjx"};
    char yhm1[20],mima1[20];
    int i=0;
    while(i<3)
    {
        printf("输入用户名字符串:\n");
        gets(yhm1);
        printf("输入密码字符串:\n");
        gets(mima1);
        if(strcmp(yhm,yhm1))                       /*第15行*/
        {
            printf("用户名字符串输入错误!\n");
        }
        else
        {
            if(strcmp(mima,mima1))
            {
                printf("密码字符串输入错误!\n");
            }
            else
            {
                printf("欢迎使用!\n");
                break;
            }
        }
        i++;
        
    }
    if(i==3)
    {
        printf("输入字符串错误3次!\n");
    }
    return 0;
}
搜索更多相关主题的帖子: char 输入 错误 字符串 printf 
2021-11-30 13:36
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
一般0表示false,非0表示true。
2021-11-30 13:52
不吃洋葱
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2021-11-18
得分:0 
回复 2楼 apull
是不是如果break那个语句成立,整个程序就会结束?
2021-11-30 19:29
不会游泳的虾
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:101
专家分:643
注 册:2021-7-1
得分:0 
第15行如果字符串yhm和yhm1相等就返回0,然后if语句再判断0为假,所以不输出printf中的东西对吗?楼主理解正确。
是不是如果break那个语句成立,整个程序就会结束。楼主理解正确。
2021-12-02 09:34
白白白小白
Rank: 2
等 级:论坛游民
帖 子:32
专家分:65
注 册:2021-11-8
得分:0 
strcmp(S1,S2)是S1跟S2相比较,比较相同结果为0,if条件判断0为false,1为true,if(0)则不执行if语句,反之则执行else.
break是结束循环,还有一个类似的continue是结束这一轮的循环继续下一轮.
2021-12-02 12:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507709-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.278741 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved