C++选择题数组名作为函数的参数传递的是(?),请举例分析为什么?
3个回答
展开全部
答案是B;
int a[5] = {1,2,3,4,5};
a就是数组名,也是a[5]的第一个元素即a[0]的地址。
#include <stdio.h>
int add(int b[])
{
int n = 0, i;
for(i = 0; i < 5; i++)
n += b[i];
retunr n;
}
int main(void)
{
int sum;
int a[5] = {1,2,3,4,5};
sum = add(a);
}
add(a)这里传递的就是数组a的首地址,也就是数组名。
int a[5] = {1,2,3,4,5};
a就是数组名,也是a[5]的第一个元素即a[0]的地址。
#include <stdio.h>
int add(int b[])
{
int n = 0, i;
for(i = 0; i < 5; i++)
n += b[i];
retunr n;
}
int main(void)
{
int sum;
int a[5] = {1,2,3,4,5};
sum = add(a);
}
add(a)这里传递的就是数组a的首地址,也就是数组名。
展开全部
B、数组首元素的地址void fun(char b[]);在函数内部你是不能改变b的指向的,因为数组参数默认是const指针。等同于void fun(const char* b);void fun2(char *b);这个在函数内部是可以改变b的指向的,因为参数声明的时候是一般的指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B、数组首元素的地址
这个没有好举例的吧 C++就这样规定的
这个没有好举例的吧 C++就这样规定的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询