A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 3677065 中级黑马   /  2014-8-15 01:50  /  1144 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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;
}
麻烦帮我看看此代码哪里出错了

4 个回复

倒序浏览
你这个程序里面,scanf和printf语句后面怎么都有两个;冒号呢????
回复 使用道具 举报
朱亚男 来自手机 中级黑马 2014-8-15 08:57:19
藤椅
name错了
回复 使用道具 举报
char *name  ;
scanf 和printf 后面多了分号
回复 使用道具 举报
struct stu{
        char name;
        int score;
        int age;
};

char name;     成员变量name是char类型的,所以在内存中只占一字节。而你在scanf中是用%s接收的表示接收的是一个以0结尾的字符串。也就是要传入一个char*指针,两数据类型不一致;同样输出也是%s,参数也应该是一个char*指针。你传入的是char name。 类型也不一致。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马