我是大一新生学习计算机的 有些c语言上的程序不太懂 求高手指点,

这个程序是老师给我的 他说程序不一定对,需要我自己调试并且成功运行。或许多东西或者少东西,又或者需要改变顺序。那位高手可以帮小弟一个忙啊 。对了如果运行了的话还有把每一步都加上注释也就是程序意思。 谢谢了
程序如下:
swap(pt1,pt2)
int *pt1,*pt2;
{ int p;
p=*pt1;*pt1=*pt2;*pt2=p;
}
exchange(q1,q2,q3)
int *q1,*q2,*q3;
{ if(*q1<*q2)swap(q1,q2);
if(*q1<*q3)swap(q1,q3);
if(*q2<*q3)swap(q2,q3);
}
main()
{ int a,b,c*p1,*p2,*p3;
scanf("%d,%d,%d"'&a,&b,&c);
p1=&a;p2=&b;p3=&c;
exchange(p1,p2,p3);
printf("\n%d,%d,%d\n",a,b,c);
}
求高手指点啊 谢谢了

第1个回答  2012-10-19
首先,这里你没有包含头文件先加上#include <stdio.h>。
在传递参数那里也没有参数类型。写在下面我觉得是编译不过去的。。。我也没试过。。。。你可以自己用VC编译试试看。
我看了下程序,不知道是否一定要用指针,我感觉是没必要的。。。主程序就是将三个变量的值进行排序嘛,只要通过值交换就能达到目的。
第2个回答  2012-10-19
#include <iostream.h>
#include<stdio.h>
void swap(int *pt1,int *pt2)
{
int p;
p=*pt1;*pt1=*pt2;*pt2=p;
}
void exchange(int *q1,int *q2,int *q3)
{
if(*q1<*q2) swap(q1,q2);
if(*q1<*q3) swap(q1,q3);
if(*q2<*q3) swap(q2,q3);
}

void main()
{
int a,b,c,*p1,*p2,*p3;
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
exchange(p1,p2,p3);
printf("\n%d,%d,%d\n",a,b,c);
}

大致帮你看了一下,可以运行,但是关于指针的有点忘记了,你看一下书大概就可以做出来了本回答被网友采纳
第3个回答  2012-10-19
#include<stdio.h>
swap(int *pt1,int *pt2){
int p;
p=*pt1;*pt1=*pt2;*pt2=p;
return 0;
}
void exchange(int*q1,int*q2,int*q3)
{
if(*q1<*q2)swap(q1,q2);
if(*q1<*q3)swap(q1,q3);
if(*q2<*q3)swap(q2,q3);
}
void main()
{ int a,b,c,*p1,*p2,*p3;
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
exchange(p1,p2,p3);
printf("\n%d,%d,%d\n",a,b,c);
}
这样应该可以

...星期内学C语言!!重点是不挂科就行了!!!求高手指点!
根据我当初学习 C 语言编程的亲身体会就是:如果你想在短时间内快速掌握 C 语言编程,首先必须要在自己的电脑上安装一个 C 语言编程的集成编程环境!然后再购买一本比较适合初学者的 C 语言教材。我当时购买的是:谭浩强编写的《C 语言程序设计》一书,我个人感觉该教材比较通俗易懂,适合初学者学习 ...

我想学习C语言。求高手指点应该怎么做?
1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?入门阶段:还是老谭那本。理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。

我是一名在校大学生,还没毕业,学了c语言,但不知道它有什么用,我想用它...
争取把计算机专业的核心课程的内容用C语言走一遍。至于其他的语言可以工作了以后再学,现在在学校先修内功,如算法和数据结构,还有操作系统等等,以后工作了可没有太多时间学这些东西了。现在不论大小公司的笔试面试,对应届生的语言要求不会太高,主要就是看基础和解决问题的能力。平时多练习,多做些项目...

向计算机高手求救:我是一名计算机专业的大一学生,经过一年的学习,觉 ...
大一主要是学基础课吧,数学、英语,有的学校还有大学物理,计算机方面的专业课可能主要就是 C语言,有的大一要学离散数学。你说你觉得学到的东西太少,是说计算机方面的专业知识太少了吗?觉得自己离一个计算机大牛的差距还太大,没有什么拿得出手的技术?其实大一的主要目的还是打基础吧,只要你能认...

C语言一个程序,希望高手给把代码思路讲解一下!有些地方看不懂
所以s是计算a[n]中有几个1的,既然要都是不重复的数字,那a[n]中1的个数必须为9,小于9即表示abc及其2倍数、3倍数中至少有2个数字重复标记了一次同一个a[n]为1;至于开始处的a[h]=0;那是for循环开始处对数组a[]的每一个元素做0初始化,你这样看就能比较明白 for(h=1;h<10;h++)a...

...书上第一个列子编程,怎么一下子,出现这么多错误。求高手指点...
头文件:因为所有程序都使用一些固定功能,比如在屏幕上显示,比键盘读入数据等。而实现这些功能代码就有几百行,还有一般学生不懂的汇编语言在里面。为了方便,就将这部分代码作为一个文件由编程软件自己添加到我们写好程序文件中。也就是说虽然你只写了不到5行的代码没超过20个个符,但实际上你的这个...

学习C语言要用电脑么
对于你,我建议,如果你自我控制能力不过的话(主动学习能力不过),最好还是别太早买电脑呢!而大一下,在学C语言的时候你有需要使用电脑的话可以去学校的机房使用。我们大一的时候,基本上没有多少人买电脑的 ,C语言就这样学过来了 而且,因为去机房要钱,你又在经济跟作业压力下,你的学习动力或许...

什么叫程序编程 写程序 高手给与指点 初学者
简单的说,编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 计算机虽然功能十分强大。可以供你上网、打游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的“命令”。于是,我们要驯服它,只有通过一种方式——程序,...

大学四年只学习理论知识,毕业后真的难以适应工作吗?
从我自身的经历来说,大学里的理论知识只能奠定你在职场中的基础知识,更不要说对于我们这种计算机专业来说,肯定是边学边做的。如果学校里没有实践过,就算实践过也可能跟工作的方向不同,会需要一定的适应期。🎈大学的理论知识只能奠定基础知识 大学一些专业的课程安排确实有些脱离实际,太偏向...

...求指点。上面的c语言不懂。请高手给指点一下。
首先请看void (*fun)(void)这里定义了一个函数指针fun,fun指向一个参数为void,返回值为void的函数。接着再看typedef void (*fun)(void);typedef 的作用是定义一种类型,例如想上面的那样定义的话,就定义了fun这种类型,而fun这种类型的约束条件就是,要指向一个参数为void,并且返回值为void的...

相似回答