| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 775 人关注过本帖
标题:请问,这样做对吗?
只看楼主 加入收藏
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
 问题点数:0 回复次数:10 
请问,这样做对吗?

今天刚学的指针,有道题目,是利用指针进行两个数字的交换。以前没学指针的时候也能进行转换。现在不知道,这样做,是符合用指针进行交换的题目意思吗?需要什么改进的吗?

代码如下:

#include<stdio.h>
void main()
{
int num1,num2,temp;
int *prt;

printf("请输入两个用于比较的数字:\n");
printf("\n数字一:\t");
scanf("%d",&num1);
printf("\n数字二:\t");
scanf("%d",&num2);
printf("\n交换前的顺序是,数字一:%d,数字二:%d\n",num1,num2);

prt=&num1;
temp=*prt;
num1=num2;
num2=temp;
printf("\n交换后的顺序是,数字一:%d,数字二:%d\n",num1,num2);
}

搜索更多相关主题的帖子: include color 
2006-09-05 18:48
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
得分:0 
自己感觉不象是在用指针呢!!
2006-09-05 19:02
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
得分:0 

这个是用指针进行转换,但实际上数字好象并没有真正的转换过来。但是哪个更合题目呢?

#include<stdio.h>
void main()
{
int num1,num2;
int *prt1,*prt2,*temp;

printf("请输入两个用于比较的数字:\n");
printf("\n数字一:\t");
scanf("%d",&num1);
printf("\n数字二:\t");
scanf("%d",&num2);

prt1=&num1;
prt2=&num2;
printf("\n交换前的顺序是,数字一:%d,数字二:%d\n",*prt1,*prt2);
temp=prt1;
prt1=prt2;
prt2=temp;
printf("\n交换后的顺序是,数字一:%d,数字二:%d\n",*prt1,*prt2);
}

2006-09-05 19:13
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

呵呵,刚学指针的时候,我也是晕!我感觉指针最好的用处就是在数组上!数组的地方可是要用到指针的!所以一定要学好指针!


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-09-05 20:09
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

最好设计个函数保存起来,以后编程会经常用。

void Swap(int *pt1,int *pt2){
int temp;
temp=*pt1;
*pt1=*pt2;
*pt2=temp;
return ;
}


由于工作,N久都没来了!
2006-09-05 20:20
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
得分:0 
恩,不过现在指针在我的脑海里还是迷迷糊糊的。还要多做习题的。
2006-09-05 21:21
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
交换指针指向的内容,而不是指针本身(只是一个地址),它不可以改变指向的内容.

倚天照海花无数,流水高山心自知。
2006-09-05 21:53
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
收藏
得分:0 
我觉得要再定义一个指针变量!这样才有意义!要不然就好像没有用到指针的功能!

在不断的拼搏与进取中,定能创造一片天地!
2006-09-06 09:30
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 
你的程序实际上就是把地址给交换了!注意*p只是一个数字而已!而p则是一个地址!

[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-09-06 10:53
爱疯了
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-9-5
收藏
得分:0 

笨,用指针时把数组一换不就行了

2006-09-06 11:05
快速回复:请问,这样做对吗?
数据加载中...
 
   



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

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