SFANTx 2020-11-22 11:19 采纳率: 0%
浏览 15
已结题

C语言函数和指针相关的问题,请大神赐教

#include <stdio.h>
#define N 80
void FindMax(int score,long num,int n,int *pMaxScore,long *pMaxNum);
int main()
{
	long num[N];
	long maxNum;
	//long *maxNum;
	int score[N];
	int maxScore;
	//int *maxScore;
	int n,i;
	
	printf("input students numbers:");
	scanf("%d",n);
	for(i=0;i<n;i++)
	{
		printf("input scores and num:");
		scanf("%d%d",&score,&num);
	 } 
	 FindMax(score,num,n,&maxScore,&maxNum);
	 printf("maxScore = %d,maxNum = %ld",maxScore,maxNum);
 } 
 void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum)
 {
 	int i;
 	*pMaxScore = score[0];
 	*pMaxNum = num[0];
 	for(i=0;i<n;i++)
 	{
 		if(*pMaxScore<score[i])
 		{
 			*pMaxScore = score[i];
 			*pMaxNum = num [i];
		 }
	 }
	 printf("*pMaxScore = %d,*pMaxNum = &ld",pMaxScore,pMaxNum);
 }

刚刚学习函数与指针,不太懂,求大神指教

  • 写回答

1条回答 默认 最新

  • 「已注销」 2020-11-22 12:20
    关注

    函数声明与定义不匹配。

    3行的声明和24的定义不匹配。注意比对。

    执行结果会出错。

    19行scanf的时候应该是`&num[i]`或者是`num+i`

    评论

报告相同问题?