求助大佬们一个关于指针的问题
我想要输出这一列中最小的数字,但是编译错误:cannot convert 'int (*)' to 'int**'我不大清楚为什么,如果可以的话,可以帮忙改正一下么
#include<stdio.h>
#include<stdlib.h>
int list_min(int *(list),int n);//传入一个列表的地址,还有他的长度,返回其中的最小值
int list_min(int *(list),int n)
{
int min_now=**list;
int i=0;
while (i>n)
{
if (min_now<**(list+i))
{
min_now=**(list+i);
}
i++;
}
return min_now;
}
int main()
{
int list={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
printf("%d",list_min(list,4));
} 为了验证,我将第1行移到了第3行,其他的错误在程序中已经改了,并在注释中注明了
#include<stdio.h>
#include<stdlib.h>
int list_min(int (*list), int n); // *(list)实参与形参不匹配
int list_min(int (*list), int n)
{
int min_now = **list;
int i = 1; // 上面的语句定义时已经将第1列的值赋给了 min_now
while (i < n) // 只有当 i < n 时才循环
{
if (min_now > **(list + i)) // 要找的是最小值,不是最大值
{
min_now = **(list + i);
}
i++;
}
return min_now;
}
int main()
{
int list = { { 5,6,7,8 },{ 9,10,11,12 },{ 1,2,3,4 },{ 13,14,15,16 } };
printf("%d\n", list_min(list, 4));
} 风过无痕1989 发表于 2020-11-29 11:48
为了验证,我将第1行移到了第3行,其他的错误在程序中已经改了,并在注释中注明了
{:10_282:}之后我我想给函数传入一个数组指针该怎么做嘞,这个数组指针指向的数组长度是不确定的,由开头输入的值来决定 风过无痕1989 发表于 2020-11-29 11:48
为了验证,我将第1行移到了第3行,其他的错误在程序中已经改了,并在注释中注明了
#include<stdio.h>
#include<stdlib.h>
int list_min(int (*)[],int n);//传入一个列表的地址,还有他的长度,返回其中的最小值
int list_min(int (*list)[],int n)
{
int min_now=**list;
int i=0;
while (i>n)
{
if (min_now<*(*list+i))
{
min_now=*(*list+i);
}
i++;
}
return min_now;
}
int main()
{
int len;
scanf("%d",&len);
int list;
int i=0,j=0;
while(i<len)//输入一个二维列表
{
while(j<len)
{
scanf("%d",&list);
j++;
}
j=0;
i++;
}
int (*p)=list;
printf("%d",list_min(p,4));
system("pause");
}
这个和上边的目的差不多,但是报错了cannot convert 'int (*)' to 'int (*)[]' 风过无痕1989 发表于 2020-11-29 11:48
为了验证,我将第1行移到了第3行,其他的错误在程序中已经改了,并在注释中注明了
在第36行,可惜没有办法放图片……{:10_243:} 始不垂翅 发表于 2020-11-29 12:40
在第36行,可惜没有办法放图片……
你第3行改了,第4行不改,不报错那才见鬼呢 始不垂翅 发表于 2020-11-29 12:37
之后我我想给函数传入一个数组指针该怎么做嘞,这个数组指针指向的数组长度是不确定的,由开头 ...
这个问题已经解决,变长数组的问题,我的 VS2015 编译器不支持。没有经过我的编译器验证的问题,我是不会回答的,所以,我帮不了你。你另外发帖子求助吧 风过无痕1989 发表于 2020-11-29 13:11
这个问题已经解决,变长数组的问题,我的 VS2015 编译器不支持。没有经过我的编译器验证的问题,我是不会 ...
很抱歉那么晚给你最佳,但是我每发的一个问题一定都会设置最佳答案的,只是因为逛论坛时间不确定,可能会延误一段时间。还有就是那道题我也是感觉没有区别的,只是因为初学c语言,没有掌握那么深层次,不敢百分之百的保证回答的每一道题正确,所以我会选择看一看其他人的答案
页:
[1]