| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 447 人关注过本帖
标题:关于指针的用法
只看楼主 加入收藏
hanshui
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-8-5
收藏
 问题点数:0 回复次数:3 
关于指针的用法
大家好我这有一个程序调试通过了,可是运行却得不到正确的结果,请大家帮我检查一下。

#include<stdio.h>
void main()
{
void sort(int[],int n);
int * p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d",*p);p++;}
}
void sort (int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x=[k];x[k]=t;}
}
}

搜索更多相关主题的帖子: 指针 用法 
2007-08-07 13:16
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
以下是引用hanshui在2007-8-7 13:16:58的发言:
大家好我这有一个程序调试通过了,可是运行却得不到正确的结果,请大家帮我检查一下。

#include<stdio.h>
void main() /*main()函数最好写成int返回型*/
{
void sort(int[],int n);
int * p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++); /*你的这个%好像是中文字符,要切换到英文输入法输入%*/
p=a; /*上面的p++,p已经移动到了数组末尾,所以要重新赋值,让p指向头*/
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d",*p);p++;}
}
void sort (int x[],int n) /*参数x[]最好要指明长度,否则容易出错,不过这个程序没问题*/
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x=[k];x[k]=t;}
}
}


总的来说,问题不大,就缺少一个p=a
但是可以进一步考虑节省程序使用的空间和时间。


坚决不跟用TC的人打交道!
2007-08-07 13:36
lantianye
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-6
收藏
得分:0 
#include <stdio.h>
void main()
{
void sort(int[],int n);
int *p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;/*因为你上边的p++已经加到数组的尾部,所以要p=a把地址调回到头部*/
sort(p,10);
for(p=a,i=0;i<10;i++)
{
printf("%d ",*p);
p++;
}
printf("\n");
}
void sort (int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
其他地方都正确,我没有改
2007-08-07 19:14
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
2楼干得不错

Repeat  Life=Study;Until (death);
2007-08-08 21:07
快速回复:关于指针的用法
数据加载中...
 
   



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

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