c语言,为什么有一个数组值没有输出,其他都输出了啊(如图中p2没有输出)?
stu[]表示单个学生学号,因为要用多个学号,所以有定义了二维数组id【】,算出平均分输出时,id【1】没有输出来,如图中p2没有输出...
stu[]表示单个学生学号,因为要用多个学号,所以有定义了二维数组id【】,算出平均分输出时,id【1】没有输出来,如图中p2没有输出
展开
1个回答
展开全部
一般用 函数的 参数传递。
如果要通过函数返回值传递,可以用指针,另外保存数据的变量退出函数时不得消失。
例如:
#include<stdio.h>
int * fun(int n)
{
int i;
static int a[100]; // 这里用static
for (i=0;i<n;i++) a[i]=i;
return &a[0];
}
void main()
{
int i,n=5;
int *p; // 声明指针
p = fun(n); // 返回指针
for (i=0;i<n;i++) printf("%d\n",p[i]); // 把 p 看成数组 来 输出
}
得 0 1 2 3 4
如果要通过函数返回值传递,可以用指针,另外保存数据的变量退出函数时不得消失。
例如:
#include<stdio.h>
int * fun(int n)
{
int i;
static int a[100]; // 这里用static
for (i=0;i<n;i++) a[i]=i;
return &a[0];
}
void main()
{
int i,n=5;
int *p; // 声明指针
p = fun(n); // 返回指针
for (i=0;i<n;i++) printf("%d\n",p[i]); // 把 p 看成数组 来 输出
}
得 0 1 2 3 4
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |