爱问知识人 爱问教育 医院库

C语言程序设计问题??

首页

C语言程序设计问题??


        

提交回答
好评回答
  • 2018-04-01 09:04:03
    while(p<q)才是正确的,你要弄清楚函数调用时实参和形参的关系,既然你的函数void f(int *x,int *y),是以*x,*y作为形参的,那当然需要传送的是地址,而不是指针变量所指向的元素,建议你好好看看指针那一节还有函数参数传递的方式。

    点***

    2018-04-01 09:04:03

其他答案

    2018-04-01 12:04:03
  • 问题在你没有看懂这个程序的意思,就是把这个数组的数反过来,不考虑数值的大小!如果改成while(*p<*q),就不能完成这个函数的功能了,就这个数组而言,只是先把数组改为int a[8]={8,7,6,5,4,3,2,1};后来又改回int a[8]={1,2,3,4,5,6,7,8};对没有顺序的面言,在第一次不满足*p<*q时就跳出循环,毫无功能可言,也没有意义了!

    莫***

    2018-04-01 12:04:03

  • 2018-04-01 10:04:03
  • while(p<q)p,q是指针,p存的是数组第一个元素的地址,q是最后一个元素的地址。p,q比较的是地址答案补充*p=1,*q=8; while(*p<*q);就变成死循环了

    越***

    2018-04-01 10:04:03

  • 2018-04-01 06:04:03
  • 这段代码的目的是为了把数组a里面的元素顺序到过来,while(p<q)中p、q是控制指针,一个从数组的起点,一个从数组都尾部对他们的元素进行交换,之后p递增,q递减分别指向下一个元素,直到p=q的时候操作完成退出循环!(这里的p,q指的是数组的位置)答案补充改成下面的代码应该更好理解:void main(){ 	int a[8]={1,2,3,4,5,6,7,8};	int i,m,n;	m=0; n=7;	while(m<n)	{ 		f(&a[m],&a[n]);m++;n--;		for(i=0;i<8;i++)			printf("%d,",a[i]);	}	printf("\n");}

    黄***

    2018-04-01 06:04:03

  • 2018-04-01 05:04:03
  • 这题不是比较数值的大小的,他写的(p<q)是这样的:你创建的数组a[8]他在内存中就会开辟一段空间存放这8个值,每个值都有自己的空间,但是这8个值的空间是连在一起的,p就是a[0]的地址q就是a[7]的地址,p<q做循环是说要你从第一个地址一直走到最后一个地址,走每一个位置的时候做一次输出,它先进去后出来,所以会把这8个值反过来全部输出如果你改成*p就是说把p里的值取出来,这个时候就真的成了比较两个值的大小答案补充比如我定义:int *p = &a 这个时候*只代表说明p是个指针*p是把a里面的值取出来,假如a是4,那么*p就为4,*p不是指针如果你想输出a的地址可以这样写&a或者p都是可以的

    手***

    2018-04-01 05:04:03

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):