用函数输出一个数组
#include<stdio.h>
int *arr(int acc[],int size,int data ){
int j=0;
int *a;
for(int i=0;i < size;i++)
{
if(acc==data){
a=i;
j++;
}
}
return a;
}
int main(void)
{
int acc1[]={10,50,12,54,63,36,10};
int size1=sizeof(acc1)/sizeof(int);
printf("%d\n",size1);
int *ccc=arr(acc1,size1,10);
for (int j=0;i<size1;j++
printf("%d\t",ccc);
return 0;
}
这个程序是简单的选择函数,但是不知道为什么就是输出不了最后的数组ccc
不是很清楚你要做什么,指针不要当作数组用#include<stdio.h>
int *arr(int acc[], int size, int data ){
int j=0;
int *a;
for(int i = 0; i < size;i++)
{
if(acc == data)
{
a = i;
j++;
}
}
return a;
}
int main(void)
{
int acc1[]={10,50,12,54,63,36,10};
int size1 = sizeof(acc1)/sizeof(acc1); //后面这样比较好
printf("%d\n",size1);
int *ccc = arr(acc1,size1,10);
for (int j=0; j < size1;j++) //这里的括弧是中文的,不完整,然后是 j 不是 i
printf("%d ",ccc);
return 0;
} 没看懂你要选择什么。。
claws0n 发表于 2018-10-21 14:01
不是很清楚你要做什么,指针不要当作数组用
是这样的:我现在有一组数组,然后我想知道某个数在第几个位置,我要输出他的数组下标。
一开始,我的这个程序函数部分的作用是按照0,1,2,3这样的顺序,一旦找到了我想要的那个数,就直接return到函数调用点。可是如果在后面还有这个数呢? 所以我改动了下,把函数的返回值设置成一个数组,但是运行程序的话根本输出不了。。。括号的话 是我不小心删掉的。
liulinxs 发表于 2018-10-21 20:41
没看懂你要选择什么。。
我就是想试试用一个函数返回一个数组,然后输出一个数组中我某个数的位置。。。 GAI_0205 发表于 2018-10-21 20:46
是这样的:我现在有一组数组,然后我想知道某个数在第几个位置,我要输出他的数组下标。
一开始,我的 ...
一个比较简单的做法是#include<stdio.h>
void arr(int acc[], int size, int data)
{
for(int i = 0; i < size;i++)
{
if(acc == data)
{
printf("%d ", i);
}
}
printf("\n");
}
int main(void)
{
int acc1[]={10,50,12,54,63,36,10};
int size1 = sizeof(acc1)/sizeof(acc1);
printf("%d\n",size1);
arr(acc1,size1,10);
return 0;
}C 语言是不能返回数组的。多值返回需要c++的一些东西,所以最简单的考虑就是打印 GAI_0205 发表于 2018-10-21 20:50
我就是想试试用一个函数返回一个数组,然后输出一个数组中我某个数的位置。。。
方法二#include<stdio.h>
void arr(int *buff, int arr[], int n, int key)
{
int j = 1;
for(int i = 0; i < n;i++)
{
if(arr == key)
{
buff = i;
buff = j++;
}
}
}
int main(void)
{
int acc1[]={10,50,12,54,63,36,10};
int n = sizeof(acc1)/sizeof(acc1);
printf("%d\n",n);
int buff;
for(int i = 0; i < n;i++)
buff = -1;
arr(buff, acc1,n,10);
for(int i = 1; i <= buff; i++)
printf("%d ", buff);
printf("\n");
return 0;
} 谢谢 claws0n 发表于 2018-10-21 23:42
方法二
你好,我想问一下你运行这个程序是在哪个软件中。我用vc 6 他好像不能直接用 int bar这种形式,会报错 GAI_0205 发表于 2018-10-22 16:38
你好,我想问一下你运行这个程序是在哪个软件中。我用vc 6 他好像不能直接用 int bar这种形式,会报错
T_T 这个要 C99 标准才可以。VC 只支持到 C98。
1. 换一个编译环境。VC 真的不好用,个人推荐 dev c++ 入门
2. 把 n 换成 1024 咯 claws0n 发表于 2018-10-22 16:45
T_T 这个要 C99 标准才可以。VC 只支持到 C98。
1. 换一个编译环境。VC 真的不好用,个人推荐 dev c++...
谢谢! dev c++很好用感觉 GAI_0205 发表于 2018-10-22 17:01
谢谢! dev c++很好用感觉
够轻便,但是要设定成 C99 或 C11 标准。如果你要换,到时再问
页:
[1]