| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:指针的指向问题,什么时候是地址,什么时候是值
只看楼主 加入收藏
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:3 
指针的指向问题,什么时候是地址,什么时候是值
题目是已知两个依元素值递增有序排列的线性表A和B,且同一表中的元素值各不相同。构造一个线性表C.其元素为A和B中元素的交集,且表C的元素也依次递增有序,设计对表A,B,C都是顺序表的情况的算法。
我的如下,但指针有问题,就是*indexa表示的应该是他的值吧,但判断空时有问题,导致if(*indexa==*indexb && *indexa!=NULL){这个条件执行了多次,求大神解答


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

int* shas(int *a,int *b){
    int *indexa=a;
    int *indexb=b;
    int c[100];
    int indexc=0;
    while(true){
        if(*indexa==NULL||*indexb==NULL){
        break;
        }
        if(*indexa==*indexb && *indexa!=NULL){
        c[indexc]=*indexa;
        indexc++;
        indexa++;
        indexb++;
        }
        if(*indexa>*indexb){
        indexb++;
        }
        if(*indexa<*indexb){
        indexa++;
        }   
    }

    return c;
}
int main(){
    int a[]={1,2,3,4,5,6,7};
    int b[]={2,3,5,7,8,9,11};
int *c=    shas(a,b);
while(*c!=NULL){
printf("%d==asad\n",*c);
c++;
}
    system("pause");
    return 1;
}
搜索更多相关主题的帖子: include 线性表 依元素 
2015-07-05 14:02
实际应用
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:89
专家分:341
注 册:2015-5-30
收藏
得分:10 
main 的 c 是指针, 但没空间
调完shas 后指向废弃的地址,所以不可能成功
解决办法,在main 里定义空间,作为指针传给函数
另外,函数里的后三个if 应该是并列关系,每次循环只执行其一
2015-07-05 14:37
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:10 
指针里存着地址,对指针进行*运算可以取出地址里的内容

一片落叶掉进了回忆的流年。
2015-07-05 15:20
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
已经改好了,谢谢了
2015-07-05 16:09
快速回复:指针的指向问题,什么时候是地址,什么时候是值
数据加载中...
 
   



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

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