| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:C语言求解!
只看楼主 加入收藏
chenzhaoxia
Rank: 1
等 级:新手上路
帖 子:16
专家分:6
注 册:2011-2-1
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:1 
C语言求解!
for(i=1;i<N;i++)
{if(s->s>a[i].s)
{s->num[N]=a[i].num[N];
s->s=a[i].s;}
}

for(i=1;i<N;i++)
{if(s->s>a[i].s)
{*s=a[i];}
}结果为什么不一样啊?
完整代码:#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define N 10
typedef struct ss
{ char num[N];
  int s;
} STU;
fun(STU a[], STU *s)
{
int i;
*s=a[0];
for(i=1;i<N;i++)
{if(s->s>a[i].s)
{*s=a[i];}
}
}
void main()
{
  FILE *wf;
  STU a[N]={{ "A01",81},{ "A02",89},{ "A03",66},{ "A04",87},{ "A05",77},
  { "A06",90},{ "A07",79},{ "A08",61},{ "A09",80},{ "A10",71}},m;
  int i;
  system("CLS");
  printf("*****The original data*****\n");
  for(i=0;i<N;i++)
    printf("No=%s Mark=%d\n", a[i].num,a[i].s);
  fun(a,&m);
  printf("*****THE RESULT*****\n");
  printf("The lowest :%s, %d\n",m.num,m.s);
/******************************/
  wf=fopen("out.dat","w");
  fprintf(wf,"%s, %d",m.num,m.s);
  fclose(wf);
/*****************************/
}
搜索更多相关主题的帖子: include C语言 
2016-12-15 22:28
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:20 
s是一个结构体,*s不等价于s->s,通常,*s是s的首地址对应的内容,也就是第一个结构体成员的首地址里面的内容~(不过通常没有人会这样引用结构体的)

把s->s引用成这样的写法,难怪会混乱

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-17 22:39
快速回复:C语言求解!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015542 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved