C语言同时定义2个字符串的时候 第一个的名字输出后 会跟着就输出后一个 求大神指点 怎么分开啊?

2024-11-22 02:04:16
推荐回答(2个)
回答1:

 char c[4];

数组的空间不够, 导致溢出! 一个汉子要用2个字节的话, 而没有存放'\0'的地方。

因此将数组空间扩大即可。

回答2:

void intput(struct sanguo *q)
{
strcpy(q->c, "蜀\0");
strcpy(q->name, "关羽\0");
q->f = 250;
q->i = 200;
}
另外再把“char c[2]; //country 国家 魏蜀吴 wei shu wu”改为“char c[3]; //country 国家 魏蜀吴 wei shu wu”