c语言程序帮助,给位高手高手帮帮忙。我实在没分了,不好意思。
下面的程序如果将子函数里的s->s改为s.s程序就会报错,这是为什么呢?不是一样的吗?还有为什么不是*s->s而是s->s#include<stdio.h>#includ...
下面的程序如果将子函数里的s->s改为s.s程序就会报错,这是为什么呢?不是一样的吗? 还有为什么不是*s->s而是s->s
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define N 4
typedef 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->s=a[i].s;
}
void main()
{
STU a[4]={{"abc",13},{"bcd",23},{"cdf",78},{"cde",90}},m;
int i;
fun(a,&m);
printf("%s %d",m.num,m.s);
} 展开
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define N 4
typedef 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->s=a[i].s;
}
void main()
{
STU a[4]={{"abc",13},{"bcd",23},{"cdf",78},{"cde",90}},m;
int i;
fun(a,&m);
printf("%s %d",m.num,m.s);
} 展开
3个回答
展开全部
你学的教程讲解的的版本和你用的编译器版本不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fun (STU a[],STU *s) 这里的s就是一个指针。所以取结构体的元素用->而不是. 用s->s而不用*s->s 也是一样的原因。
追问
但是可以用(*s).s 这是为什么呢?
追答
*s就是取内容,(*s).s就是s->s
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询