标题: [疑问] 指针问题!!!!!!谁来帮帮忙!!!!!!!!!!
lhk5195
LU新生
Rank: 1



UID 100259
精华 0
积分 1
帖子 1
活跃指数 1
LU金币 2 个
LU金条 0 个
阅读权限 10
注册 2007-12-15
 
发表于 2007-12-15 12:41  资料  个人空间  短消息  加为好友 
指针问题!!!!!!谁来帮帮忙!!!!!!!!!!

#include "stdio.h"
void main()
{
    int a[10],i;
    int *p,*k;

    printf("shu ru 10 g su ");
    for(p=a;p<a+10;p++)
    scanf("%d",p);
    for(p=a;p<a+9;p++)
    {
    for(k=a;k<((a+9)-p);k++)
            if(*p<*(p+1))
            {
                i=*p;
                *p=*(p+1);
                *(p+1)=i;
            }
     }
    for(p=a;p<a+10;p++)
    printf("%-3d",*p);

}


偶想完成用冒泡排序法用指针进行10个数按从大到小排列,可是怎么都不行



偶输入1 2 3 4 5 6 7 8 9 0
可是接还是一样的
晕  
用工具检查说是 for(k=a;k<((a+9)-p);k++)  这行有警告(k是不可移动的指针)!
晕   明明 P  也是和它一样的定义的嘛  怎么就.........
请大家帮帮忙啊!!!!!
谢谢!~~~~~~~~~~~~~~~

顶部
自然平衡
LU大天使
Rank: 6Rank: 6
文昌阁阿三


LU爱心使者  
UID 33793
精华 1
积分 1328
帖子 2200
活跃指数 143
LU金币 1629 个
LU金条 12344 个
阅读权限 120
注册 2005-8-1
来自 文昌阁下
 
发表于 2007-12-19 12:41  资料  个人空间  短消息  加为好友 
算法好像写错了, k都没用上?






生活永远比故事精彩
顶部
b46178
LU新生
Rank: 1



UID 103043
精华 0
积分 2
帖子 3
活跃指数 0
LU金币 3 个
LU金条 0 个
阅读权限 10
注册 2008-2-29
 
发表于 2008-2-29 23:16  资料  个人空间  短消息  加为好友 
我也是刚学的C语言,我觉得你的问题应该是:循环嵌套后,你的两个指针指向的是同一个变量,所以程序出错了,

顶部
b46178
LU新生
Rank: 1



UID 103043
精华 0
积分 2
帖子 3
活跃指数 0
LU金币 3 个
LU金条 0 个
阅读权限 10
注册 2008-2-29
 
发表于 2008-2-29 23:17  资料  个人空间  短消息  加为好友 
回复 #1 lhk5195 的帖子

我也是刚学的C语言,不知道我说的对不对,我觉得你的问题应该是:循环嵌套后,你的两个指针指向的是同一个变量,所以程序出错了,

顶部
b46178
LU新生
Rank: 1



UID 103043
精华 0
积分 2
帖子 3
活跃指数 0
LU金币 3 个
LU金条 0 个
阅读权限 10
注册 2008-2-29
 
发表于 2008-2-29 23:19  资料  个人空间  短消息  加为好友 
回复 #1 lhk5195 的帖子

就是说你的循环嵌套就是不合法的~~~

顶部
 



当前时区 GMT+8, 现在时间是 2008-12-5 15:34
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.055265 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver