c语言面向数组的函数调用 c语言面向数组的函数调用是什么
C语言 数组调用
1.一下程序
专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业祥云免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
main()
{ char s[]="abcde";
s+=2;
printf("%d\n",s[0]);
}
答案:程序出错
2.一下程序
fun(int x,int y)
{ static int m=0,i=2;
i+=m+1; m=i+x+y;return m;}
main()
{ int j=1,m=1,k;
k=fun(j,m); printf("%d,",k);
k=fun(j,m); printf("%d\n",k);
}
答案:5,11
3.若有定义:char*x="abcdefghi"; ,能正确运用了 strcpy函数的是:
char y[10]; *s; strcpy(s=y+1,x+1);
4.有以下程序执行后W结果是;
int fun1(double a) {return a*a;}
int fun2(double x,double y)
{ double a=0,b=0;
a=fun1(x); b=fun1(y);return(int)(a+b);}
main()
{ double w, w=fun2(1.1,2.0);.......}
答案:5.0
5.设函数的fun定义形式为:void fun(char ch,flaot x) {.....}
则对函数fun的调用语句是: fun(32,32);
6.已有定义char a[]="xyz",b[]={'x','y','z'};,则叙述正确的是:
a数组的长度大于b数组长度
7.一下叙述错误的是C)
A.对于double类型数组,不可以直接用数组名进行整体输入或输出
B.数组名代表的是数组所占存储区的首地址,其值不可改变
C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出"下标越界"的出错信息
D. 可以通过赋值的方式确定数组元素的个数
8.有以下程序:
char fun(char x,char y)
{ if (xy) return x;
return y; }
main()
{ int a='9',b='8',c='7';
printf("%c\n", fun(fun(a,b),fun(b,c)));
}
答案是:7
9.若定义以下函数:
double myadd(double a,double b)
{ return (a+b);}
并将其放在调用语句之后,则在调用之前应对其说明,正确的说明有:
double myadd(double,double);
double myadd(double b,double a);
double myadd(doubie x,double y);
10有以下程序,执行后输出的是:
fun( int x, inty)
return(x+y);}
main()
int a=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);}
答案:8
11.有以下程序结果是
#define P 3
F(int x)
{ return (P*x*x);}
main()
{ printf("%d\n",F(3+5));}
答案:192
c语言 函数调用(形参为数组名的情况)
#include stdio.h
void sort(int a[20])
{ int i,j,k,t;
for(i=0;i19;i++)
{ k=i;
for(j=i+1;j20;j++)
if(a[k]a[j]) k=j;
t=a[k];a[k]=a[i];a[i]=t;
}
}
void main()
{ int a[20]={2,5,7,8,4,10,48,96,65,74,35,84,15,38,52,56,60,20,17,80};
sort(a);
}
没问题
我调试过了
记得给我加分
C语言一维数组函数间的调用
1)首先删除函数就有问题,你传入的参数i在哪里发挥作用了?只是把数组顺序前移了,应该把k=0改为k=i
2)你在n=getData(a);后面,打印一下a数组的内容,可能这里就不对,这个地方数组是传不出来的,你可以看看。
3)你查一下数据在函数参数中的用法,在子函数内对数组的修改应该传不出来,你把a数组作为全局变量使用才有可能得到结果。
当前名称:c语言面向数组的函数调用 c语言面向数组的函数调用是什么
分享链接:http://scjbc.cn/article/dohcosd.html