| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1166 人关注过本帖
标题:函数的递归调用!!(求解)
只看楼主 加入收藏
wang155423
Rank: 6Rank: 6
等 级:侠之大者
帖 子:216
专家分:408
注 册:2011-9-4
收藏
得分:0 
程序代码:
应该是这样
#include "stdio.h"
#include "string.h"
int mm(char *x,char *y);   
void main()
{
   
    char a[20],b[20]={"abcd1234"};

    while(1)
    {   
        printf("请输入密码:");
        gets(a);                
        if(mm(a,b))
        {
           printf("登陆成功!\n");break;
        } 
        else
           printf("密码错误!\n");
  
    }
}
int mm(char *x,char *y)
{
    if(strcmp(x,y)==0)
    return 1;
    else
    return 0;
}

2011-12-02 12:11
lichen7473
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2011-10-19
收藏
得分:0 
回复 11楼 wang155423
其实我个人认为 if(mm(a,b)==1)与if(mm(a,b))是等价的
不过后者更为简单,而前者则有局限性。
主要就看你的mm()函数如何定义

个人观点,因水平有限,出错不要鄙视,欢迎指点!
2011-12-02 12:15
原味好
Rank: 4
来 自:西安
等 级:业余侠客
帖 子:59
专家分:250
注 册:2011-11-29
收藏
得分:0 
你可以试一下我帮你改的这个,我帮你解释了你的错误地方
程序代码:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
void main()
{
    int mm(char x[],char y[]);//把x改成x[],y改成y[]
    char a[20],b[20]={"abcd1234"};
    printf("请输入密码:");
    gets(a);
    while(1)
    {
        if(mm(a,b)==1)//下面加了个括号,a[20]改成a,b[20]改成b,因为当你在另外的函数中处理整个数组元素时,只需要用数组名作为函数实参
        {
            printf("登陆成功!\n");
            break;
        }// 如果break在大括号外面时,就不属于if里的语言,因为语句的结束标志是分号;
        if(mm(a,b)==0)//这里和上面一样
        printf("密码错误!\n");
        break;//这里也要加个break;要不然会不停的循环,也就是死循环
  
    }
}
int mm(char x[],char y[])//把x改成x[],y改成y[],用数组接收数组,
{
    int c;
    if(strcmp(x,y)==0)
    c=1;
    else
    c=0;
    return(c);
}
//没有提示错误信息,但运行时出错!帮忙看一下问题出在哪…… 
2011-12-02 12:59
zhuyuuyuhz
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-12-21
收藏
得分:0 
回复 8楼 lichen7473
厉害!有空教教我,THANK YOU!
2011-12-21 11:25
飞扬冲天
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:122
注 册:2011-10-21
收藏
得分:0 
回复 4楼 laoyang103
不是说要使用函数的递归调用么?
2011-12-21 12:21
快速回复:函数的递归调用!!(求解)
数据加载中...
 
   



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

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