2 qq 34873732 qq_34873732 于 2017.01.05 14:21 提问

c语言小问题自己无法处理

如何修改求大神们指点左右。谢谢图片图片图片

7个回答

CrazyApp
CrazyApp   2017.01.05 15:03

按上面错误提示说的是传参数错误,你传的参数类型不对,你检查一下。

GrayOnDream
GrayOnDream   2017.01.05 14:27

兄弟你最好把代码粘出来,这样看眼睛疼

qq_34873732
qq_34873732
一年多之前 回复
qq_36348011
qq_36348011   2017.01.05 14:48

行号弄出来,哪一行错了

qq_34873732
qq_34873732   2017.01.05 14:52

#include
#define N 3
struct Student
{
int num; //学号
char name[20]; //姓名
double score[3];//3门课成绩
double aver; //平均成绩
};
int main()
{
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu[]);
struct Student stu[N],
*p=stu;
input(p);
print(max(p));问题在此//E:\新建文件夹 (2)\wawa.cpp(18) : error C2664: 'print' : cannot convert parameter 1 from 'struct Student' to 'struct Student []'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
return 0;
}
void input(struct Student stu[])
{
int i;
printf("请输入各学生学号、姓名、3门课成绩\n");
for(i=0;i {
scanf("%d%s%lf%lf%lf",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0; }
}
struct Student max(struct Student stu[])
{
int m=0,i;
for(i=0;i if(stu[i].aver>stu[m].aver)
m=i;

return stu[m];

}
void print(struct Student stu)
{
printf("\n");
printf("最高分排名\n学号:%d\n姓名:%s\n3门课成绩%lf\n平均成绩%lf\n",&stu.num,&stu.name,&stu.score,&stu.aver);
}

qq_36348011
qq_36348011   2017.01.05 14:58

你先把struct Student stu[N],
*p=stu;
换成struct Student stu[N],
struct Student *p = stu;

swordsilence
swordsilence 细看了一下,print函数的声明跟定义前后不照,应该定义是对的,print的声明中误将参数声明成了数组。另外print函数当中的printf的参数真的应该用取地址操作符&吗
一年多之前 回复
qq_34873732
qq_34873732 刚在手机上测试不行
一年多之前 回复
swordsilence
swordsilence   2017.01.05 15:06

struct Student max(struct Student stu[]);
void print(struct Student stu[]);

max返回结构,print需要结构指针

qq_34873732
qq_34873732 能写一下出来吗?
一年多之前 回复
canghaiyisu_12
canghaiyisu_12   2017.01.05 15:29

将你的print(struct Student stu)改为void print(struct Student stu[]);
print函数的参数是结构体数组

qq_34873732
qq_34873732 我的代码就是这样的,不行。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Top K算法问题的实现
在上一篇文章,程序员面试题狂想曲:第三章、寻找最小的k个数中,后来为了论证类似快速排序中partition的方法在最坏情况下,能在O(N)的时间复杂度内找到最小的k个数,而前前后后updated了10余次。所谓功夫不负苦心人,终于得到了一个想要的结果。 简单总结如下(详情,请参考原文第三章): 1、RANDOMIZED-SELECT,以序列中随机选取一个元素作为主元,可达到线性期望时间O(N)的复
C语言容易出错的地方
C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考。 1.书写标识符时,忽略了大小写字母的区别。 mai
用费马小定理做素性测试
自大一以后再次用C,现在做一道OJ题用费马小定理判断素性 顺便把过程发上来吧 总结记录一下 #define _CRT_SECURE_NO_WARNINGS #include #include #include long long pow(long long x, long long y, long long n){ // 递归求a^(n-1)mod n的值 if (y == 0)ret
C语言 一个浅显易懂的小入门
C语言 零基础 快速理解 入门必读
C语言自己写的函数出现“error LNK2001: 无法解析的外部符号“
C语言线性表学习
C语言初学者注意问题
一些C语言初学者需要注意的小问题,适合跟我一样的C语言初学者,拿出来分享一下。
java中的数组的常见操作问题
数组操作常见操作     对数组操作最基本的动作就是存和取。     核心思想:就是对角标的操作。     示例:遍历并打印数组元素 class ArrayDemo{ public static void main(String[] args) { int[] arr = {89,34,270,17}; for
【C/C++】Cin与Cout
为成为国际语言,C++必须能处理需要16位的国际字符集Unicode,于是在传统的8位char型的基础上添加了wchar_t字符类型。在程序包含iostream文件时,将自动创建8个流对象:cin、cout、cerr、clog以及相对应的用于宽字符流的:wcin、wcout、wcerr、wclog。                                       Cin 可
【c语言】空指针困扰多年的问题
使用链表经常会出现很奇怪的问题。比如,明明使用if(!p) break;这么强硬的空指针判断,还是会显示非法读取。终于今天弄懂了为什么。首先搞清楚什么是空指针。空指针就是NULL指的是指向内存地址0x00000000000000(忘了多少个0了)地址的指针。if(!p)也只能判断这个空指针。而面对特殊情况。比如在我这里面出现的是p有可能指向的是被删除了的地址0xcdcdcdcd或者是0xddd...
miniftp迷你服务器
实现客户端与服务器的通信,c语言、可能会出现一些小问题