首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

编译后得不到应该的结果,该如何解决

2012-04-17 
编译后得不到应该的结果main(){structstu{intnumchar*namecharsexfloatscore}boy1,boy2boy1.num102

编译后得不到应该的结果
main(){
struct   stu
{
int   num;
char   *name;
char   sex;
float   score;
}   boy1,boy2;
boy1.num=102;
boy1.name= "Zhang   ping ";
printf( "input   sex   and   score\n ");
scanf( "%c   %f ",&boy1.sex,&boy1.score);
boy2=boy1;
printf( "Number=%d\nName=%s\n ",boy2.num,boy2.name);
printf( "Sex=%c\nScore=%f\n ",boy2.sex,boy2.score);
}

编译后,怎么得不到需要的结果呢?
不管输入什么score,用TC编译后得到的都是0.000000

[解决办法]
经验证,一切OK,没出现LZ所说的情况。。。
[解决办法]
char *name;需要分配空间
[解决办法]
boy2=boy1;//不知道tc下允许这样赋值不?
换成这样试一下
memcpy(&boy2,&boy1,sizeof(boy2));
[解决办法]
input sex and score
a 123
Number=102
Name=Zhang ping
Sex=a
Score=123.000000
请按任意键继续. . .

没问题啊
[解决办法]
ls char *name;由于后面初始化了 已分配空间
[解决办法]
我用的是VS 6.0,代码没错误,正常编译
score 是字符型,一定要输入字符型

[解决办法]
在vs2005下可以正常运行啊。
不知道楼主的是什么问题。

热点排行