|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 螃蟹009 于 2012-6-12 11:01 编辑
- # include <stdio.h>
- # include <malloc.h>
- struct student
- {
- char name[100];
- int age;
- float score;
- };
- void Scanf(struct student ** pArry, int len)
- {
- int i;
- for (i=0; i<len; i++)
- {
- printf ("第%d个学生的姓名:", i+1);
- scanf ("%s", (*pArry).name);
- printf ("\n");
- printf ("第%d个学生的年龄:", i+1);
- scanf ("%d", &(*pArry).age);
- printf ("\n");
- printf ("第%d个学生的成绩:", i+1);
- scanf ("%f", &(*pArry).score);
- printf ("\n");
- }
- }
- void Printf (struct student ** pArry, int len)
- {
- int i;
- for (i=0; i<len; i++)
- {
- printf ("第%d个学生的姓名:", i+1);
- printf ("%s", (*pArry).name);
- printf ("\n");
- printf ("第%d个学生的年龄:", i+1);
- printf ("%d", (*pArry).age);
- printf ("\n");
- printf ("第%d个学生的成绩:", i+1);
- printf ("%f", (*pArry).score);
- printf ("\n");
- }
- }
- int main(void)
- {
- int i;
- int len;
- printf ("请输入学生的人数\n");
- scanf ("%d", &len);
-
- struct student * pArry = (struct student *)malloc(len * sizeof(int));
- Scanf (&pArry, len);
-
- printf("**************************\n");
- printf("学生的情况如下\n");
- printf("**************************\n");
-
- Printf(&pArry, len);
- printf("**************************\n\n");
- printf("**************************\n");
-
- return 0;
- }
复制代码 这是我写的学生数据管理系统的最基本版本!有个问题还是不太清楚!
- void Scanf(struct student ** pArry, int len)
- {
- int i;
- for (i=0; i<len; i++)
- {
- printf ("第%d个学生的姓名:", i+1);
- scanf ("%s", (*pArry).name);
复制代码 这里面的printf ("%s", (*pArry).name);中如果说因为name[100]是数组,而name是数组名而不用加&的话
- scanf ("%s", &(*pArry).name);
复制代码 那
- void Printf (struct student ** pArry, int len)
- {
- int i;
- for (i=0; i<len; i++) /
- {
- printf ("第%d个学生的姓名:", i+1);
- printf ("%s", (*pArry).name);
- printf ("\n");
- printf ("第%d个学生的年龄:", i+1);
- printf ("%d", (*pArry).age);
- printf ("\n");
- printf ("第%d个学生的成绩:", i+1);
- printf ("%f", (*pArry).score);
- printf ("\n");
- }
- }
复制代码 中为什么是这么输出的?- printf ("%s", (*pArr y).name);
复制代码 这样不是地址的吗??
还有我一开始认为定义的函数应该是struct student 类型的,比如
- struct student Printf (struct student ** pArry, int len)
复制代码 可是却有一个错误!!好像数返回值的问题!不是很清楚到底为什么! |
|