| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 617 人关注过本帖
标题:有问题啊~
只看楼主 加入收藏
Leaon_L
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-2-1
收藏
 问题点数:0 回复次数:5 
有问题啊~
有两个问题,望高手解答.


#include <stdio.h>
#define M 0
#define F 1
#define OK 1
#define EOR 0
#define NULL 0
struct stu
{
    int num[5];
    char name[10];
    char sex;
    struct stu *next;
}
*pro(int n)
{
    int a;
    struct stu *head,*f,*s;
    for(a=0;a<n;a++)
    {
        f=(struct stu *)malloc(sizeof(struct stu));
        printf("\nnum:");
        scanf("%d",&f->num);                  /*为什么输出总是三千多?*/
        printf("name:");
        scanf("%s",&f->name);
        printf("sex(M or F):");
        scanf("%s",&f->sex);                  /*为什么"s"改成"c"就不行了?*/
        if(a==0)head=s=f;
        else s->next=f;
        s=f,f->next=NULL;
    }
return(head);
}
void outp(struct stu *head)
{
    struct stu *f=head;
    for(;f!=NULL;f=f->next)
    printf("\nnum:%d     name:%s     sex:%c",f->num,f->name,f->sex);
}
main()
{
struct stu *head;
int n;
printf("How many data do you want to input?\n");
scanf("%d",&n);
head=pro(n);
outp(head);
getch();
}
2008-02-01 15:17
Leaon_L
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-2-1
收藏
得分:0 
M 和 F两个宏定义是搞错的
2008-02-01 15:22
snvxv
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-2-1
收藏
得分:0 
第一个问题是 你定义的num是数组  这是不对的
直接定义为 int num就好了
第2个问题是 scanf("%s",&f->sex);可以吃掉上次输入的回车副   改成scanf("%c",&f->sex); 前面在加一句getchar(); 效果是一样的
2008-02-01 17:35
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
建议用scanf(" %c",&f->sex);
注意和scanf("%c",&f->sex);的区别
2008-02-01 17:47
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
scanf(" %c",&f->sex);注意和scanf("%c",&f->sex);的区别
这两个有什么区别啊
2008-02-02 10:33
snvxv
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-2-1
收藏
得分:0 
scanf(" %c",&f->sex); /*前面有空格 它会忽略你输入数据前面的 空格和回车付*/
scanf("%c",&f->sex);   /*这个就不会  当你输入一个空格或回车时  输入也就结束了*/
2008-02-03 12:41
快速回复:有问题啊~
数据加载中...
 
   



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

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