| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3317 人关注过本帖
标题:为什么在第一个for循环中循环一次后就无法继续循环了呢?
只看楼主 加入收藏
回忆、想忘
Rank: 1
等 级:新手上路
帖 子:40
专家分:7
注 册:2010-12-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
为什么在第一个for循环中循环一次后就无法继续循环了呢?
程序代码:
#include<stdio.h>
#include<malloc.h>
struct Student
{
    char name[100];
    int age;
    float score;
};
int main(void)
{
    int len;
    int i;
    struct Student *p;
    p=(struct Student *)malloc(len*sizeof(struct Student));
    printf("请输入一共有几位学生:");
    scanf("%d",&len);
    for(i=0;i<len;++i)
    {
        printf("请输入第%d位同学的信息:\n",i+1);
        printf("name:");
        scanf("%s",p[i].name);

        printf("age:");
        scanf("%f",&p[i].age);

        printf("score:");
        scanf("%g",&p[i].score);
       
    }
        for(i=0;i<len;++i)
    {
        printf("请输出第%d位同学的信息:\n",i+1);
        printf("name:\n",p[i].name);

        printf("age:\n",&p[i].age);

        printf("score:\n",&p[i].score);
       
       
    }
        return 0;


}
搜索更多相关主题的帖子: age 
2011-10-07 19:28
naruto01
Rank: 4
等 级:业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
收藏
得分:0 
    p=(struct Student *)malloc(len*sizeof(struct Student));
你能确认这时候len的值吗?
2011-10-07 19:34
回忆、想忘
Rank: 1
等 级:新手上路
帖 子:40
专家分:7
注 册:2010-12-24
收藏
得分:0 
写到这里是想试试看能不能输入,谁知道不能 后面还想再弄个冒泡排序什么的来排成绩
2011-10-07 19:35
回忆、想忘
Rank: 1
等 级:新手上路
帖 子:40
专家分:7
注 册:2010-12-24
收藏
得分:0 
回复 2楼 naruto01
放在scanf("%d",&len);后面也不行啊
2011-10-07 19:37
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:15 
同上
2011-10-07 19:38
回忆、想忘
Rank: 1
等 级:新手上路
帖 子:40
专家分:7
注 册:2010-12-24
收藏
得分:0 
回复 5楼 ileelsai
放在scanf("%d",&len);后面也不行啊
2011-10-07 19:41
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:0 
你后两个print的&是for what?
2011-10-07 19:43
回忆、想忘
Rank: 1
等 级:新手上路
帖 子:40
专家分:7
注 册:2010-12-24
收藏
得分:0 
回复 7楼 ileelsai
哦 应该去掉 可是前面的输入都不行 为什么啊
2011-10-07 19:46
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:0 
scanf("%s",&(p+i)->name);
对指向一定空间的指针引用我习惯这样写,还有scanf中的数组类型可以不用&,但我习惯上加上,没必要剩一个&容易出错
指针的数据项最好用->
你按照这改改
2011-10-07 19:53
naruto01
Rank: 4
等 级:业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
收藏
得分:5 
scanf("%f",&p[i].age);
以及
程序代码:
        printf("name:\n",p[i].name);

        printf("age:\n",&p[i].age);

        printf("score:\n",&p[i].score);
2011-10-07 19:54
快速回复:为什么在第一个for循环中循环一次后就无法继续循环了呢?
数据加载中...
 
   



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

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