| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 556 人关注过本帖
标题:返回值 问题
取消只看楼主 加入收藏
tdy1006
Rank: 4
等 级:业余侠客
帖 子:173
专家分:240
注 册:2009-5-13
结帖率:100%
收藏
 问题点数:0 回复次数:1 
返回值 问题
程序代码:
#include <stdio.h>
#define maxsize 100
typedef struct seqlist
{
    int data[maxsize];
    int len;
};
//顺序查找非递归
int seqsearch(seqlist l,int key)
{
    int k=l.len-1;
    while(k>=0&&l.data[k]!=key)
        k--;
    return k;
}
int seqsearch(seqlist l,int n,int key)
{
    int k=0;
    if(-1==n)
        k=-1;
    else
        if(l.data[n]==key)
            k=n;
        else
            k=seqsearch(l,n-1,key);
    return k;
}

void main()
{
    int i,k;
    int  key;
    seqlist l;
    printf(" please input the  length of list:");
    scanf("%d",&l.len);
    printf("please input the data of list:\n");
    for (i=0;i<l.len;i++)
        scanf("%d",&l.data[i]);
    do
    {
        printf("请输入待查找的关键字(-1 退出):");
        scanf("%d",&key);
        if(key==-1) break;
        if((k=seqsearch(l,l.len,key)!=-1))
            printf("%d 在线性表的第%d个位置。\n",key,k);
        else
            printf("未找到指定元素!\n");
    }
    while(key!=-1);
}
为什么在search()带回的值不管是多少,k总是1在main()中除-1外,
大家给看看。
搜索更多相关主题的帖子: 返回值 
2009-11-11 09:07
tdy1006
Rank: 4
等 级:业余侠客
帖 子:173
专家分:240
注 册:2009-5-13
收藏
得分:0 
呵呵,谢谢各位了啦,
上面问题自己找到了,()打错了位置,所以K的值成了BOOL型,所以提前结贴了,
本来是想把几种查找封装起来的,所以用了重载

[ 本帖最后由 tdy1006 于 2009-11-11 20:27 编辑 ]
2009-11-11 20:25
快速回复:返回值 问题
数据加载中...
 
   



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

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