黑马程序员技术交流社区

标题: 一个关于结构体的问题 [打印本页]

作者: 3677065    时间: 2014-8-15 01:50
标题: 一个关于结构体的问题
本帖最后由 3677065 于 2014-8-15 01:59 编辑

#include<stdio.h>

struct stu{
        char name;
        int score;
        int age;
};

int main(void)
{
        int i;
        struct stu stu1[2];
        for(i=0;i<2;i++)
        {
                scanf("%s %d %d",&stu1.name ,&stu1.score ,&stu1.age);
        ;}
        for(i=0;i<2;i++)
        {
                prinft("%s %d %d",stu1.name ,stu1.score ,stu1.age);
        ;}
        return 0;
}
麻烦帮我看看此代码哪里出错了


作者: kaid    时间: 2014-8-15 06:13
你这个程序里面,scanf和printf语句后面怎么都有两个;冒号呢????
作者: 朱亚男    时间: 2014-8-15 08:57
name错了
作者: 陆习康    时间: 2014-8-15 09:28
char *name  ;
scanf 和printf 后面多了分号
作者: xiniuniu    时间: 2014-8-16 09:12
struct stu{
        char name;
        int score;
        int age;
};

char name;     成员变量name是char类型的,所以在内存中只占一字节。而你在scanf中是用%s接收的表示接收的是一个以0结尾的字符串。也就是要传入一个char*指针,两数据类型不一致;同样输出也是%s,参数也应该是一个char*指针。你传入的是char name。 类型也不一致。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2