有没有大佬看看这个错在哪啊,主要是函数调用那里有错

#include typedef struct { long xh; char name[20]; char marry; int age; }ShuaiGe; void myPrint(ShuaiGe arr[], int n); void myInput(ShuaiGe arr[], int n); #define N 3; void main() { ShuaiGe arr[2]; void myInput(ShuaiGe arr[2], 2); void myPrint(ShuaiGe arr[2], 2); } void myPrint(ShuaiGe arr[], int n) { for (int i = 0; i < n; i++) { printf("学号:%ld\n", arr[i].xh); printf("姓名:%s\n", arr[i].name); printf("婚否:%c\n", arr[i].marry); printf("年龄:%d\n", arr[i].age); printf("\n\n"); } printf("\n"); } void myInput(ShuaiGe arr[], int n) { for (int i = 0; i < n; i++) { printf("请输入第 %d 个帅哥信息:\n", i + 1); printf("学号:"); scanf("%ld",&arr[i].xh ); printf("姓名:"); scanf("%s",&arr[i].name ); printf("婚否:"); scanf("%c",&arr[i].marry); printf("年龄:"); scanf("%d",&arr[i].age); } }

void myInput(ShuaiGe arr[2], 2); void myPrint(ShuaiGe arr[2], 2); } 把main方法里面这些语句的void删除。

你的报错信息是什么?此外你把代码格式化下 用那个代码段发出来

问题一:

#define N 3;这里不需要加分号';'

问题二:

myInput(arr, 2);
myPrint(arr, 2); 

将main函数中调用的改成这样,调用不需要写void,且,需要传数组进去。

 

点个采纳吧!

 

#include<stdio.h>

#define N 3        // 不需要分号

typedef struct a{ 
	long xh; 
	char name[20]; 
	char marry; 
	int age; 
}ShuaiGe; 

void myPrint(ShuaiGe arr[], int n); 
void myInput(ShuaiGe arr[], int n); 



int main() { 
	ShuaiGe arr[2];
	
	myInput(arr, 2);
	myPrint(arr, 2); 
    //void myInput(ShuaiGe arr[2], 2); 
    //void myPrint(ShuaiGe arr[2], 2);

	return 0;
} 

 

修改如下:(如有帮助,请采纳一下,谢谢)

#define N 3 //;此处不需要;
void main() 

    ShuaiGe arr[2]; 
    myInput(arr,2); //函数中使用的时候不需要在加类型
    myPrint(arr,2); 

具体代码如下:

#include <stdio.h>

typedef struct 
{ 
	long xh; 
	char name[20]; 
	char marry; int age; 
}ShuaiGe; 
void myPrint(ShuaiGe arr[], int n); 
void myInput(ShuaiGe arr[], int n); 
#define N 3 //;此处不需要;
void main() 
{ 
	ShuaiGe arr[2]; 
	myInput(arr,2);
	myPrint(arr,2); 
} 
void myPrint(ShuaiGe arr[], int n) 
{ 
	for (int i = 0; i < n; i++) 
	{ 
		printf("学号:%ld\n", arr[i].xh); 
		printf("姓名:%s\n", arr[i].name); 
		printf("婚否:%c\n", arr[i].marry); 
		printf("年龄:%d\n", arr[i].age); printf("\n\n"); 
	} 
	printf("\n"); 
} 
void myInput(ShuaiGe arr[], int n) 
{ 
	for (int i = 0; i < n; i++) 
	{ 
		printf("请输入第 %d 个帅哥信息:\n", i + 1);
		printf("学号:"); 
		scanf("%ld",&arr[i].xh ); 
		printf("姓名:"); 
		scanf("%s",&arr[i].name ); 
		printf("婚否:"); 
		scanf("%c",&arr[i].marry); 
		printf("年龄:"); 
		scanf("%d",&arr[i].age); } 
}

 

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

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

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