C语言里 s->s>a[i].s中的s-是什么意思

整个程序如下:#include <stdio.h>#include <string.h>#include <conio.h>#define N 10typedef struct ss{ char num[10]; int s;}STU;fun (STU a[],STU *s){ int i; *s=a[0]; for(i=0;i<N;i++) if(s->s>a[i].s) *s=a[i];}main (){ STU a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90}},m; int i; system("cls"); for(i=0;i<N;i++) printf("No=%s Mark=%d\n",a[i].num,a[i].s); fun(a,&m); printf("The lowest:%s,%d\n",m.num,m.s);}这个程序运行出来有错误,但是这是题集上的原题,提示是--------------------Configuration: Cpp1 - Win32 Debug--------------------Compiling...Cpp1.cppE:\C程序\Cpp1.cpp(17) : warning C4508: 'fun' : function should return a value; 'void' return type assumedE:\C程序\Cpp1.cpp(24) : error C2065: 'system' : undeclared identifierE:\C程序\Cpp1.cpp(29) : warning C4508: 'main' : function should return a value; 'void' return type assumed执行 cl.exe 时出错.Cpp1.exe - 1 error(s), 0 warning(s)为什么system错误?还有变量m能解释一下吗?最后的m.num,m.s为什么不是啊a[m].num和a[m].s呢?m不是a[N]中的一项吗?

第1个回答  2020-04-22
不是s-,是s->s:第一个s是一个结构体指针,运算符->用来访问其中的分量s要用system,包含头文件stdlib.h
相似回答