| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 488 人关注过本帖
标题:那儿错啦?
只看楼主 加入收藏
CIA
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-5-18
收藏
 问题点数:0 回复次数:4 
那儿错啦?
#include<stdio.h>
#include<string.h>
struct student
{int num;
 char name[20];
 float score[3];
};
void main()
{void print(struct student *s);
 struct student stu[5];
 int i,j;
 for(i=0;i<5;i++)
 {printf("\nInput score of stuent %d:\n",i+1);
  printf("NO.");
  scanf("%d",&stu[i].num);
  printf("name:");
  scanf("%s",stu[i].name);
  for(j=0;j<3;j++)
  {printf("score%d:",j+1);
   scanf("%f",&stu[i].score[j]);
  }
  printf("\n");
 }
 print(stu);
}
void print(struct student *s)
{
 int i;
 for(i=0;i<5;i++,s++)
 printf("%d\t%s\t%f\t%f\t%f\n",(*s).num,(*s).name,(*s).score[0],(*s).score[1],(*s).score[2]);
}
搜索更多相关主题的帖子: include 
2008-05-18 22:54
CIA
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-5-18
收藏
得分:0 
没人看,不值钱!
#include<stdio.h>
#include<string.h>
struct student
{int num;
 char name[20];
 float score[3];
};
void main()
{void print(struct student *s);
 struct student stu[5];
 int i,j;
 for(i=0;i<5;i++)
 {printf("\nInput score of stuent %d:\n",i+1);
  printf("NO.");
  scanf("%d",&stu[i].num);
  printf("name:");
  scanf("%s",stu[i].name);
  for(j=0;j<3;j++)
  {printf("score%d:",j+1);
   scanf("%f",&stu[i].score[j]);
  }
  printf("\n");
 }
 print(stu);
}
void print(struct student *s)
{
 int i;
 for(i=0;i<5;i++,s++)
 printf("%d\t%s\t%f\t%f\t%f\n",(*s).num,(*s).name,(*s).score[0],(*s).score[1],(*s).score[2]);
}
那儿错啦?
2008-05-18 22:59
光影门徒
Rank: 2
等 级:论坛游民
帖 子:103
专家分:28
注 册:2008-4-24
收藏
得分:0 
应该是楼主你粗心,掉了一个取地址运算符:
#include<stdio.h>
#include<string.h>
struct student
{int num;
char name[20];
float score[3];
};
void main()
{void print(struct student *s);
struct student stu[5];
int i,j;
for(i=0;i<5;i++)
{printf("\nInput score of stuent %d:\n",i+1);
  printf("NO.");
  scanf("%d",&stu[i].num);
  printf("name:");
  scanf("%s",&stu[i].name);
  for(j=0;j<3;j++)
  {printf("score%d:",j+1);
   scanf("%f",&stu[i].score[j]);
  }
  printf("\n");
}
print(stu);
}
void print(struct student *s)
{
int i;
for(i=0;i<5;i++,s++)
printf("%d\t%s\t%f\t%f\t%f\n",(*s).num,(*s).name,(*s).score[0],(*s).score[1],(*s).score[2]);
}

多看少说,重在学习!
2008-05-18 23:33
CIA
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-5-18
收藏
得分:0 
回复 3# 的帖子
scanf("%s",stu[i].name);这个没有错 ,stu[i].name是 字符变量名,不加 &
这个程序如果把
struct student
{int num;
char name[20];
float score[3];
};
中的float score[3];改为 int型及后面的程序作相应更改则运行结果 正确
负责编译 能通过,但运行时异常终止!
2008-05-19 13:24
bigzerg
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-5-19
收藏
得分:0 
为什么我运行是没错的呢?
2008-05-19 16:53
快速回复:那儿错啦?
数据加载中...
 
   



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

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