结构体字符串赋值问题 求解脱
程序代码:/*很简单的一个题目,就是读入字符串,如“[expecto patronum] send a Patronus to the dementors”,
但是要把中括号内的单独保存,后面的单独保存。下面的程序自我感觉没问题,但VC下打印出来的是乱码,求大神指导。
测试用例:
[expecto patronum] send a Patronus to the dementors
[expelliarmus] the disarming charm*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct node
{
char m[25];
char em[85];
}node; //定义结构体用来保存
int main()
{
int i,c,l;
char p[25],t[85],q[25];
node a[10];
i=0;
c=0;
while(scanf("%s",p)!=EOF)
{
if(strcmp(p,"@END@")==0)
break ;
else
{
l=strlen(p);
if(p[l-1]!=']')
{
scanf("%s",t);
strcat(p," ");
strcat(p,t);
}
getchar();
gets(t);
// memset(a[i].m,'\0',sizeof(char)*25);
strcpy(a[i].m,p);
strcpy(a[i].em,t);
i++;
c++;
printf("em=%s m=%s\n",(a[i].em),(a[i].m));
}
}
return 0;
}
求大神帮助,这是一个的大问题的输入部分,所以必须要用结构体。







