这个程序语法,有些问题,而且,逻辑,逻辑上好像也有错误(个人见解)。

首先,是函数定义,c语言中函数定义的时候,需说明形参的类型。
你的程序,两个指针的类型都没有说明,对应位置应该改为:intf(intx,int*py,int**ppz)。
其次,在逻辑上,你的三个形参都是操作的同一个地址空间(内存单元)中的内容,也就是你把同一个地址给了三个形参。这貌似会问题。我加了main函数运行了你的程序……会崩溃,根本不会出现你想要的的结果!也许你会怀疑我的main函数有问题,我把我的代码页给你,你可以自己试试!#include
当然是由函数决定的啊:
那么这个函数的返回值int型返回值。
可以写成return XX -->XX是int型,如果这里你写成其它型的(如A说的),编译会报错
PC机会隐式的让返回值为int型,如果你return 0.32, 返回去的值其实是0.
函数形参带进来的地址
静态局部变量地址
局部变量地址,必须在函数中用malloc()函数进行地址分配
采用全局变量地址
void func1( char *s ) //通过形参返回字符串
return s ; //返回形参地址,方便程序调用
static char s[100]; //不能是非静态变量,否则,子函数结束,局部变量被释放,调用者得到一个无效的地址值。
return s ; //返回静态局部变量地址,由调用者采用相应的指针变量接收返回值,得到字符串数据。
return s ; //返回s值,该地址需要调用者去free()释放。
return globle_buf ; //返回全局变量地址,方便程序调用