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);

}
展开
 我来答
newlife9090
2011-09-01 · TA获得超过332个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:304万
展开全部
*s->s而是s->s
你好~
。和-》都是一种操作符~ 是针对结构体 内部数据~
C语言规定 如果是变量引用 那么就用.
如果是指针引用 那么就用 ->
所以->改成.当然会报错啦~
希望对你有用~ 不懂可以追问我~
追问
那*s算是变量还是指针呢
追答
s如果是一个指针的话  *s就是它所指的变量~
626966309
2011-09-01
知道答主
回答量:30
采纳率:0%
帮助的人:11.3万
展开全部
你学的教程讲解的的版本和你用的编译器版本不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
犯胳臂拦腥Cb
2011-09-01 · TA获得超过271个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:237万
展开全部
fun (STU a[],STU *s) 这里的s就是一个指针。所以取结构体的元素用->而不是. 用s->s而不用*s->s 也是一样的原因。
追问
但是可以用(*s).s 这是为什么呢?
追答
*s就是取内容,(*s).s就是s->s
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式