C语言 结构体 找出以下程序的错误,并改正。
找出以下程序的错误,并改正。#include<stdio.h>main(){structstudent{intnum;charname[10];charsex;stuct...
找出以下程序的错误,并改正。
#include<stdio.h>
main()
{
struct student{
int num;
char name[10];
char sex;
stuct stu,*p;
}
struct student stu,*p;
student.name=120;
stu.name=”Lily”;
scanf(“%s”,stu.name);
scanf(“%c”,stu.sex);
p=&stu.sex;
p=stu.name;
p=stu;
} 展开
#include<stdio.h>
main()
{
struct student{
int num;
char name[10];
char sex;
stuct stu,*p;
}
struct student stu,*p;
student.name=120;
stu.name=”Lily”;
scanf(“%s”,stu.name);
scanf(“%c”,stu.sex);
p=&stu.sex;
p=stu.name;
p=stu;
} 展开
2个回答
展开全部
stuct stu,*p; //stuct stu 是定义(声明)结构体,把 stuct stu 当成数据类型,错误
//或者认为是定义类型为 stu 的指针,但是 stu 类型未定义,况且,不需要关键字 stuct 修饰
struct student stu,*p; //stuct sturuct 是定义(声明)结构体,这里要去掉 struct,直接写:
student stu,*p; //即可
student.name=120; //student 是结构体定义,不是对象,不能这样用。
c 编译是按顺序的,前面的语句不认识后面声明的东西!
//或者认为是定义类型为 stu 的指针,但是 stu 类型未定义,况且,不需要关键字 stuct 修饰
struct student stu,*p; //stuct sturuct 是定义(声明)结构体,这里要去掉 struct,直接写:
student stu,*p; //即可
student.name=120; //student 是结构体定义,不是对象,不能这样用。
c 编译是按顺序的,前面的语句不认识后面声明的东西!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询