void fun(int *a,int n)/

#include
void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{int t,i,j;
for(i=0;ifor(j=i+1;jif (a}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4,6);
for (i=0;i<10;i++) printf("%d,",c);
printf("\n");
}
程序运行的结果是
过程

谢谢

你把程序写好啊,都写错了,首先程序从main函数开始运行,fun函数的功能是,把数组c的首地址加4,数组的首地址就相当于一个指针指向数组元素1的地址,把这个指针加4,就相当于把指针移向四位元素,现在指针就指向了数组元素5,所以到这里是把5和6传给了fun函数,来执行fun函数的功能,使数组5和以后的元素都从大到小排列,而5以前照常输出,所以程序的运行结果是
1234987650
有什么不明白的再问我吧!
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-22
  #include<stdio.h>
  void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
  {
  int t,i,j;
  for(i=0;i<n-1;j++)
  for(j=i+l;j<n;j++)
  if(a[i]<a[j])
  { t=a[i];
  a[i]=a[j];
  a[j]=t;}
  }
  void main {
  int c[10]={1,2,3,4,5,6,7,8,9,0),i;
  fun(c+4,6);
  for(i=0;i<10;i++)
  printf("%d,",c[i]);
  printf("\n");
  }

首先程序从main函数开始运行,fun函数的功能是,把数组c的首地址加4,数组的首地址就相当于一个指针指向数组元素1的地址,把这个指针加4,就相当于把指针移向四位元素,现在指针就指向了数组元素5,所以到这里是把5和6传给fun函数,来执行fun函数的功能,使数组5和以后的元素都从大到小排列,而5以前照常输出,所以程序的运行结果是1234987650。本回答被网友采纳
第2个回答  2019-08-15
  #include<stdio.h>
  void
fun(int*a,int
n)/*fun函数的功能是将a所指数组元素从大到小排序*/
  {
  int
t,i,j;
  for(i=0;i<n-1;j++)
  for(j=i+l;j<n;j++)
  if(a[i]<a[j])
  {
t=a[i];
  a[i]=a[j];
  a[j]=t;}
  }
  void
main
{
  int
c[10]={1,2,3,4,5,6,7,8,9,0),i;
  fun(c+4,6);
  for(i=0;i<10;i++)
  printf("%d,",c[i]);
  printf("\n");
  }
首先程序从main函数开始运行,fun函数的功能是,把数组c的首地址加4,数组的首地址就相当于一个指针指向数组元素1的地址,把这个指针加4,就相当于把指针移向四位元素,现在指针就指向了数组元素5,所以到这里是把5和6传给fun函数,来执行fun函数的功能,使数组5和以后的元素都从大到小排列,而5以前照常输出,所以程序的运行结果是1234987650。

C语言编码题:输入一个整型数组,数组元素有正数有负数。数组中连续的一...
void fun(int *a, int n) \/\/ 数组,长度 { int maxSum=a[0];int p0=0, p1=0;int i,j,sum;for (i=0; i<n; i++){ sum=0;for (j=i; j<n; j++){ sum+=a[j];if (sum>maxSum){ maxSum=sum;p0=i;p1=j;} } } while (p0<p1) printf("%d," a[p0++]);pr...

void fun(int *a,int n) { int i,j,k,t; for(i=0;i<n-1;i+=2) { k...
void fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=2){ k=i;for(j=i;j<n;j+=2) \/这是一个for循环 if(a[j]>a[k]) k=j; \/比较a[j]、a[k],若a[j]>a[k],则把j赋给k t=a[i]; a[i]=a[k]; a[k]=t; \/进行传值 } } main(){ int...

#include <stdio.h> void fun(int*a, int*
进一步分析:退出这个函数之后,a和b两个变量都消失了,它们的指向(值)也不存在了。结果是对原来的函数中的M、N没有任何影响,跟没有运行过这个函数一样。深度解析:写这个函数毫无意义,应该不是写程序人的本意,其本意似要交换M与N的值。那就要这样写:int *t;t=*a;a=*b;b=*t;或者稍简...

请编写函数void fun(int *a, int n, int y),
a[i]=y;} } void main(){ int i,a[11]={20,18,16,14,12,10,8,6,4,2},x;void fun(int *,int n,int y);scanf("%d",&x);fun(a,10,x);for(i=0;i<11;i++)printf("%d ",*(a+i));}

编写函数void fun(int *a, int n, int y
void fun(int *a,int n,int y){ for (int i=n;i>=0;i--)if (y<*(a+i)){ (a+i+1)=y;return;} else (a+i+1)=*(a+i);a=y;} void main(){int i,a[11]={20,18,16,14,12,10,8,6,4,2},x;void fun(int *,int n,int y);scanf("%d",&x);fun(a,10,x...

编写函数fun(int *a,int n,int *odd,int *even),函数功能分别求出数组...
void fun ( int *a, int n, int *odd, int *even ){ int i; int tmp; *odd = *even = 0; for(i = 0;i< n;i++) { tmp = *(a+i); if( tmp % 2) *odd = *odd + tmp; else *even = *even + tmp; }} ...

在C语言中主函数中设置一个数组函数如 t(a[],n),那在调用函数是怎么设置...
调用fun函数,传递的是地址 ,常用的方法如下:\/\/方法1 void fun(int a[],int n)\/\/方法2 void fun(int *a,int n);

请编写函数fun(),它的功能是:求出1到1000之内能被7或11整除、但不能同 ...
void fun(int *a,int *n){ int i, j, k;n = 0;for (i=1,j=1,k=1; i<=1000; i++,j++,k++){ if ((j==7)^(k==11)){ *(a+*n) = i;(*n)++;} if (j==7) j = 0;if (k==11) k = 0;} } 另外,你的main()函数里实际上是一行显示10个数。

请编写一个函数fun (int *a,int n,int *odd,int *even)
obb=0,*even=0不应该是指针,否则需要分配内存。include<stdio.h>#define N 100int b[N];void fun (int *a,int n,int *obb, int *even){ int i,s=0,k=0; for (i=0;i<n;i++) { if ((b[i]%2)==0) k=k+b[i]; else s=s+b[i]; } *obb=s; *even=...

求教C语言 大佬 void fun(int a[],int n) 这段代码啥意思?
void fun(int a[],int n)这是一个函数的头部,函数名是fun,这个函数没有返回值(void),需要一个数组参数(int a[])和一个整数参数(int n)。

相似回答