| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:关于结构体 赋植的问题把???
只看楼主 加入收藏
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:8 
关于结构体 赋植的问题把???
我想在函数中实现输入2个值给结构体,但是为什么在输入数据运行之后是错误的。

用的是vc++6.0

# include <stdio.h>

void Input (struct Student*);
void Output (struct Student*);

struct Student
{
    int age;
    int score;
};

int main(void)
{
    struct Student stu;

    Input(&stu);
    Output(&stu);

    return 0;
}



void Input (struct Student * pstu)
{
    scanf ("%d", pstu->age);
    scanf ("%d", pstu->score);
}

void Output (struct Student * pstu)
{
    printf ("年龄:%d  ", pstu->age);
    printf ("成绩:%d\n", pstu->score);
}
搜索更多相关主题的帖子: include return 结构体 
2014-04-20 17:37
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:2 
scanf 要加取址符


[fly]存在即是合理[/fly]
2014-04-20 17:57
qq471402415
Rank: 2
等 级:论坛游民
帖 子:88
专家分:45
注 册:2013-12-3
收藏
得分:2 

 void Input (struct Student * pstu)
 {
     scanf ("%d", pstu->age);
     scanf ("%d", pstu->score);
 }

 void Output (struct Student * pstu)
 {
     printf ("年龄:%d  ", pstu->age);
     printf ("成绩:%d\n", pstu->score);


改成

 void Input (struct Student * pstu)
 {
     scanf ("%d", &pstu->age);
     scanf ("%d", &pstu->score);
 }

 void Output (struct Student * pstu)
 {
     printf ("年龄:%d  ", &pstu->age);
     printf ("成绩:%d\n", &pstu->score);
2014-04-20 18:28
雨神
Rank: 1
来 自:神界
等 级:新手上路
帖 子:2
专家分:8
注 册:2014-4-9
收藏
得分:2 
回复 3 楼 qq471402415
void Output (struct Student * pstu)
{
     printf ("年龄:%d  ", &pstu->age);
     printf ("成绩:%d\n", &pstu->score);           //这两个的&也要加么?
2014-04-20 19:40
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:2 
回复 4 楼 雨神
scanf传地址是因为要修改传入参数的值,所以要知道其位置


莫问前尘有愧,但求今生无悔
2014-04-20 23:14
zengxiangzho
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2014-4-13
收藏
得分:2 
# include <stdio.h>
#include <iostream.h>
void Input (struct Student*);
void Output (struct Student*);

struct Student
{
    int age;
    int score;
};

int main(void)
{
    struct Student stu;
   
    Input(&stu);
    Output(&stu);
   
    return 0;
}



void Input (struct Student * pstu)
{   cin>>pstu->age;
    cin>>pstu->score;
    //scanf ("%d", &pstu->age);
    //scanf ("%d", &pstu->score);
}

void Output (struct Student * pstu)
{
    printf ("年龄:%d  ", pstu->age);
    printf ("成绩:%d\n", pstu->score);
 }

你也可以直接用c++的知识,那就没有这个问题了呀!!
2014-04-21 13:08
zengxiangzho
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2014-4-13
收藏
得分:0 
# include <stdio.h>
#include <iostream.h>
void Input (struct Student*);
void Output (struct Student*);

struct Student
{
    int age;
    int score;
};

int main(void)
{
    struct Student stu;
   
    Input(&stu);
    Output(&stu);
   
    return 0;
}



void Input (struct Student * pstu)
{   cin>>pstu->age;
    cin>>pstu->score;
    //scanf ("%d", &pstu->age);
    //scanf ("%d", &pstu->score);
}

void Output (struct Student * pstu)
{
    printf ("年龄:%d  ", pstu->age);
    printf ("成绩:%d\n", pstu->score);
 }

你也可以直接用c++的知识,那就没有这个问题了呀!!
2014-04-21 13:08
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
收藏
得分:0 
    还是不够仔细啊!
2014-04-21 13:32
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
收藏
得分:0 
回复 7 楼 zengxiangzho
谢谢,不过还没开始学那个~
2014-04-21 13:46
快速回复:关于结构体 赋植的问题把???
数据加载中...
 
   



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

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