C语言结构体赋值的问题?

结构体的定义和赋值的操作如下,程序可以运行没有问题,但是当给Num.score赋值之后前面的Num.tim的值也变成了str1的值,若不给后面赋值前面正常

这是因为你的程序中,没有给字符数组指定大小(没有给字符数组分配空间,所以一旦输入字符串,就发生了“鸠占鹊巢”的现象。应该要改为:
struct Num
{char id[6];
char score[10]; //根据最大需求量分配空间,比最大长度大1
char tim[10];
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答