小白求解,为什么void Max的函数值没有打印出来?

#include<stdio.h>
#define maxSize 100
int A[maxSize];
int Length;
    

int createList(int A[],int *length)
{
    printf("%s","请输入元素个数:");
    scanf("%d",&(*length));
    if(*length>maxSize)
    return 0;
    for(int i=0;i<*length;++i)
    {
        printf("请输入第%d个元素:",i+1);
        scanf("%d",&A[i]);
    }    
    return 1;
    
}

void Max()
{   
    int max=A[0];
    int maxIdx=0;
    for(int i=1;i<Length;++i)
    {
        if(max<A[i])
        max=A[i];
        maxIdx=i+1;
    }  
printf("最大值是第%d个元素为:%d",maxIdx,max);

    
}
int main()
{
    
    createList(A,&Length);
    void Max();
    return 0;
}

 

这个编译不会报错吗?在函数定义的时候才需要带上返回值类型,在函数调用的时候是不需要的。所以在调用的时候只需要写 Max() 就好了

main函数里调用函数 不应该用void Max();

直接Max()

#include<stdio.h>
#pragma warning(disable:4996)
#define maxSize 100
int A[maxSize];
int Length;


int createList(int A[], int *length)
{
	printf("%s", "请输入元素个数:");
	scanf("%d", &(*length));
	if (*length>maxSize)
		return 0;
	for (int i = 0; i<*length; ++i)
	{
		printf("请输入第%d个元素:", i + 1);
		scanf("%d", &A[i]);
	}
	return 1;

}

void Max()
{
	int max = A[0];
	int maxIdx = 0;
	for (int i = 1; i<Length; ++i)
	{
		if (max<A[i])
			max = A[i];
		maxIdx = i + 1;
	}
	printf("最大值是第%d个元素为:%d", maxIdx, max);


}
int main()
{

	createList(A, &Length);
	Max();
	return 0;
}

 

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y