重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一个函数只能有一个返回值,指针可以返回多个,例如:
专业领域包括成都网站设计、成都网站制作、成都商城网站开发、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联建站的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。
void aaa()
{
int *a,*c;
int a,c;
*a=a;*c=c;
a=b();c=b();
}
下面调用 *a和*c.
扩展资料:
在C语言中,指针的使用非常广泛,因为使用指针往往可以生成更高效、更紧凑的代码。总的来说,使用指针有如下好处:
1、指针的使用使得不同区域的代码可以轻易的共享内存数据,这样可以使程序更为快速高效;
2、C语言中一些复杂的数据结构往往需要使用指针来构建,如链表、二叉树等;
3、C语言是传值调用,而有些操作传值调用是无法完成的,如通过被调函数修改调用函数的对象,但是这种操作可以由指针来完成,而且并不违背传值调用。
参考资料来源:百度百科-指针 (编程语言中的一个对象)
1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值
void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf(“x=%d,y=%d/n”,x,y)
}
void main()
{
int a=4,b=6;
Exchg1 (a,b) ;
printf(“a=%d,b=%d/n”,a,b)
}
2、地址传递,相当于建立了px和py两个指向整型的指针,其值分别为a和b的地址
Exchg2(int *px, int *py)
{
int tmp=*px;
*px=*py;
*py=tmp;
print(“*px=%d,*py=%d/n”,*px,*py);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”, a, b);
}
3、引用传递,x和y直接引用a和b,对a和b操作,相当于给a、b起了别名x、y
Exchg2(int x, int y)
{
int tmp=x;
x=y;
y=tmp;
print(“x=%d,y=%d/n”,x,y);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”, a, b);
}
扩展资料:
printf用法:
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d\n",a);
输出结果为a=1234。
#include stdio.h
void butler (void);
void b(void); /*一个是申明*/
int main (void)
{
butler ();
printf("For he's a jolll good fellow!\n");
b (); /*申明的这个函数是为了打最后一行的,内容见函数/*
return 0;
}
void butler (void)
{
printf("For he's a jolll good fellow!\nFor he's a jolll good fellow!\n");
}
void b(void) /*函数名 错了/*
{
printf("Which nobody can deny!\n");
}
也就是直接或间接的调用自身的函数
比如5个坐在一起论年龄,问第五个人多少岁?他说比第四个人大两岁。问第四个人多少岁,他说比第三个人大两岁。问第三个人多少岁,他说比第二个人大两岁。问第二个人多少岁,他说比第一个人大两岁。问第一个人多少岁,他说10岁。请问第五个人几岁?
int age(int n)
{ int x;
if(n1) x=age(n-1)+2;
else if(n==1) x=10;
return x;
}
void main( )
{ printf("%d",age(5));}
执行x后的确是age(4)+2
但age(4)又是一次函数调用,于是得到age(3)+2
age(3)再次调用得到age(2)+2
age(2)再调用得到age(1)+2
age(1)调用得到10
依次加上去10+2+2+2+2得到18