| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 698 人关注过本帖
标题:结构体、指针、函数问题,谢谢
只看楼主 加入收藏
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
结构体、指针、函数问题,谢谢
请问各位前辈,下列代码错在哪里。
#include"stdio.h"

    void main()
    {
     struct student   /*定义结构体*/
     {
     char name[10];       /*成员1*/
     int age;         /*成员2*/
     char sex;        /*成员3*/
     }std,pers[5],*sp=&pers[0],*bp=&std; /*定义结构变量、数组、指针*/

     data_in(pers);      /*调用指针输入函数*/
     data_out(sp);     /*调用指针输出函数*/
     data_pout(bp);   /*调用函数名输出函数*/

    }
    void data_in(struct student putin[])
    {
    int i;              /*定义循环变量*/
    for(i=0;i<5;i++)             /*利用循环输入*/
        scanf("%s %d %c",putin[i].name,&(putin[i].age),&(putin[i].sex));
    }
    void data_pout(struct student *p)
    {
    int i;
    printf("NAME AGE SEX\n");      /*提示输入*/
    for(i=0;i<5;i++)              /*利用循环输出数据*/
        printf("%s %d %c",(*p).name,(*p).age,(*p).sex);
    }
    void data_pout(struct student *s1)
    {
    int i;
    for(i=0;i<5;i++,s1++)       /*利用循环输出数据*/
    printf("NAME=%c,AGE=%d,SEX=%c",(*s1).name,(*s1).age,(*s1).sex);
    }
谢谢

[ 本帖最后由 折翼 于 2010-12-15 23:40 编辑 ]
搜索更多相关主题的帖子: 结构体 指针 函数 
2010-12-15 22:53
li_danwang
Rank: 4
来 自:鄂州
等 级:业余侠客
帖 子:112
专家分:203
注 册:2010-11-12
收藏
得分:2 
void data_pout(struct student *p)
    {
    int i;
    printf("NAME AGE SEX\n");      /*提示输入*/
    for(i=0;i<5;i++)              /*利用循环输出数据*/
        printf("%s %d %c",(*p).name,(*p).age,(*p).sex);
    }
你这里面指针变量P没有递加循环吧

没事来C一下...   
2010-12-16 09:49
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:0 
整理下代码,错误比较多些。
输入:
a1 24 f
b2 25 m
c3 22 f
d5 29 m
e5 24 f
输出:
NAME AGE SEX
a1 24 fb2 25 mc3 22 fd5 29 me5 24 fNAME=

帮人《---》帮己
2010-12-16 10:13
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:10 
#include"stdio.h"
struct student   /*定义结构体*/
{
 char name[10];       /*成员1*/
 int age;         /*成员2*/
 char sex;        /*成员3*/
}std,pers[5],*sp=&pers[0],*bp=&std; /*定义结构变量、数组、指针*/

void main()
{
     
     
     void data_in(struct student putin[]);
     void data_out(struct student *p);
     void data_pout(struct student *s1);

     data_in(pers);      /*调用指针输入函数*/
     data_out(sp);     /*调用指针输出函数*/
     data_pout(bp);   /*调用函数名输出函数*/

 }
void data_in(struct student putin[])
{
    int i;              /*定义循环变量*/
    for(i=0;i<5;i++)             /*利用循环输入*/
        scanf("%s %d %c",putin[i].name,&(putin[i].age),&(putin[i].sex));
}
void data_out(struct student *p)
{
    int i;
    printf("NAME AGE SEX\n");      /*提示输入*/
    for(i=0;i<5;i++,p++)              /*利用循环输出数据*/
        printf("%s %d %c",(*p).name,(*p).age,(*p).sex);
        
}
void data_pout(struct student *s1)
{
    int i;
    for(i=0;i<5;i++,s1++)       /*利用循环输出数据*/
        printf("NAME=%c,AGE=%d,SEX=%c",(*s1).name,(*s1).age,(*s1).sex);
}

帮人《---》帮己
2010-12-16 10:15
mengcong3959
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:113
注 册:2010-12-6
收藏
得分:2 
你最后的那个函数data_pout里面都什么都没有,输出有什么意义啊,,还有你这个程序的主要问题就是函数没有定义,,其他的问题不是很大。
2010-12-16 17:03
AS_50
Rank: 2
等 级:论坛游民
帖 子:3
专家分:11
注 册:2010-12-17
收藏
得分:6 
#include <stdio.h>
   
void data_in(struct student putin[]);
void data_out(struct student *p);
void data_pout(struct student *s1);

struct student   
{
    char name[10];      
    int age;         
    char sex;        
}std;

int main()
{
    struct student pers[5];
    struct student *sp=&pers[0];
    struct student *bp=&std;

    printf("!!");
    data_in(pers);      
    data_out(sp);     
    data_pout(bp);   
    return 1;
}

void data_in(struct student putin[])
{
    int i;              
    for(i=0;i<5;i++)            
        scanf("%s %d %c",&putin[i].name,&putin[i].age,&putin[i].sex);
}

void data_out(struct student *p)
{
    int i;
    printf("NAME AGE SEX\n");   
    for(i=0;i<5;i++)              
        printf("%s %d %c",(*p).name,(*p).age,(*p).sex);
}

void data_pout(struct student *s1)
{
    int i;
    for(i=0;i<5;i++,s1++)      
        printf("NAME=%c,AGE=%d,SEX=%c",(*s1).name,(*s1).age,(*s1).sex);
}

我来学习的
2010-12-17 14:14
AS_50
Rank: 2
等 级:论坛游民
帖 子:3
专家分:11
注 册:2010-12-17
收藏
得分:0 
这只是你的语法错误 还有逻辑错误

我来学习的
2010-12-17 14:24
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
输入数据的时候尽量不要连着输入  scanf 本来就陷阱很多  
你连着输入  不知道会出现什么错误

                                         
===========深入<----------------->浅出============
2010-12-17 16:13
快速回复:结构体、指针、函数问题,谢谢
数据加载中...
 
   



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

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