您的位置:程序门 -> c/c++ -> c++ 语言



菜鸟级选手跪求指针排序问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


菜鸟级选手跪求指针排序问题
发表于:2008-01-23 09:59:21 楼主
int   i,j,temp,num[5]={12,15,14,19,25};
int   *p;
p=&num[0];
for(i=0;i <5;i++)
{
for(j=i+1;j <5;j++)
{
if((*p)[i] <(*p)[j])
{
temp=(*p)[i];
(*p)[i]=(*p)[j]);
(*p)[j]=temp;
}
}
}
printf("降序排列为:\n");
for(i=0;i <5;i++)
printf("[%d]   ",(*p)[i]);

我实在不知道哪的问题了   总说下标或者=号左边应为1值

发表于:2008-01-23 10:12:331楼 得分:0
(*p)[i]   ===》   p[i]
兄弟,要认真补补基本功啊,并且要沉得住气。
发表于:2008-01-23 10:17:432楼 得分:0
int   i,j,temp,num[5]={12,15,14,19,25};
int   *p;
p=&num[0];
for(i=0;i <5;i++)
{
for(j=i+1;j <5;j++)
{
if(p[i] <p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
printf("降序排列为:\n");
for(i=0;i <5;i++)
printf("[%d]   ",p[i]);

这样是对了   可   temp=p[i];
          p[i]=p[j];
                          p[j]=temp;
不只是在比地址么?
发表于:2008-01-23 11:19:023楼 得分:0
temp是地址么?明明是int型变量呀。
再多想想
另外,去google下载本《c与指针》看看
发表于:2008-01-23 12:44:424楼 得分:0
*p本身就是int型了
不能再去引用了
发表于:2008-01-23 14:15:115楼 得分:0
  for(i=0;i   <5;i++)  
  {  
  for(j=i+1;j   <5;j++)  
  {  
  if(*(p+i)   <*(p+j))  
  {  
  temp=*(p+i);  
  *(p+i)=*(p+j);  
  *(p+j)=temp;  
  }  
  }  
  }  
  printf("降序排列为:\n");  
  for(i=0;i   <5;i++)  
  printf("[%d]",*(p+i));  

  return   0;

被你郁闷了,概念乱七八糟的,不过,呵呵,我开始也这样
发表于:2008-01-23 14:57:436楼 得分:0
 

  temp=*(p+i);      
    *(p+i)=*(p+j);      
    *(p+j)=temp;      
   

*(p+i)就是取数组中的第i个元素的值
发表于:2008-01-23 15:30:067楼 得分:0
唉!何事秋风悲画扇
发表于:2008-01-23 15:51:018楼 得分:0
谢谢大家了``我现在有点郁闷了   也有兴趣了。。这个东西挺难的   但是挺好玩,,脑袋不怎么好使了   老师说程序只要多打就行了   有没有什么方法交流下  
发表于:2008-01-23 15:54:229楼 得分:0
这东西就是一个“手熟尔”。循序渐进地从基本题开始做。
找本《c++   primer》,按章节认真做上面的每一条习题。
发表于:2008-01-23 15:58:5010楼 得分:0
等闲变却故人心,却道故人心易变
发表于:2008-01-23 16:09:5711楼 得分:0
等闲识得东风面,万紫千红总是春
发表于:2008-01-23 16:10:5212楼 得分:0
等闲变却故人心,却道故人心易变       谢谢!!明白了
发表于:2008-01-23 19:40:4313楼 得分:0
骊山语罢清宵半,泪雨零铃终不怨
发表于:2008-01-23 19:42:2314楼 得分:0
不对,chenzhp     你第一句错了,我说怎么看着不顺,
人生若只如初见


快速检索

最新资讯
热门点击