您所在的位置:Seago-Microsoft Windows>>Windows管理脚本>> 行参实参搞不清楚了

行参实参搞不清楚了

作者:管理员 来源:新浪爱问 日期:2008-04-21 

1、如果char str
p=ss(str)
那么
1\ char*ss(char *s)
2\ char ss(char *s)
3\ char ss(char s)
分别是什么意思?
主函数内定义的是char,为什么调用函数要用*?似乎看见很多题目都是这样

2、如果定义int aa[10]={(省略)}
那么
1\ 主函数内sum(&aa[i]) 调用函数内void sum(int *a)
2\ 主函数内sum(aa[i]) 调用函数内void sum(int a)
3\ 主函数内sum(&aa[i]) 调用函数内void sum(int a)
4\ 主函数内sum(aa[i]) 调用函数内void sum(int *a)
我知道第一个是将aa的地址传给调用函数
那第二个是不是将aa的值传给调用函数?
第三个就完全不懂~
第四个和第一个性质一样吗? 电脑问题网给出的最佳答案 char* ss(char *s):函数返回类型char指针,形参是一个char指针。
char ss(char *s):函数返回类型char变量,形参是一个char指针。
char ss(char s): 函数返回类型char变量,形参是一个char变量。

主函数内sum(&aa[i]) 调用函数内void sum(int *a):
调用sum函数时实参是数组第i个元素的地址,而形参的声明是一个整型指针,是传址。

主函数内sum(aa[i]) 调用函数内void sum(int a):
调用sum函数时实参是数组第i个元素,而形参的声明是一个整型,是传值。

sum(&aa[i]) 调用函数内void sum(int a):
调用sum函数时实参同1一样,是地址,而形参的声明是一个整型,这样调用不正确。

主函数内sum(aa[i]) 调用函数内void sum(int *a):
调用sum函数时实参是一个数组元素,而形参的声明是一个整型指针,这样调用不正确。