读书人

请教下面一段代码有关问题的根本原因是

发布时间: 2012-03-26 15:46:56 作者: rapoo

请问下面一段代码问题的根本原因是什么
#include<stdio.h>
int main(void)
{
struct student
{

int num;
char *name;
char sex;
float score;
}stu1,stu2,stu3={1,"zhang",'M',90};

stu2=stu3;
printf("%d %s %c %f\n",stu2.num,stu2.name,stu2.sex,stu2.score);
printf("%d %s %c %f\n",stu3.num,stu3.name,stu3.sex,stu3.score);

printf("input stu1's num/name/sex/score:\n");
scanf("%d %s %c %f",&stu1.num,stu1.name,&stu1.sex,&stu1.score);

printf("%d %s %c %3.1f\n",stu1.num,stu1.name,stu1.sex,stu1.score);


return 0;
}


[解决办法]
结构体中第二个好像是指针吧。
[解决办法]
那里输入有问题,stu1.name都不知道指向哪,就给它改变它指向的空间的值,这样会引起错误,改成数组或令它指向一个数组就行
[解决办法]
str1的name没指向内存
[解决办法]

探讨

这里用指针为什么不可以?引用:
结构体中第二个好像是指针吧。

[解决办法]
探讨

这里用指针为什么不可以?引用:
结构体中第二个好像是指针吧。

[解决办法]
探讨

如果我不定义数组name[],非要定义成指针 char *name,那么还需要加些什么条件才可以,还是根本就行不通?引用:
结构体中第二个好像是指针吧。

读书人网 >C语言

热点推荐