结构体字符串赋值问题 求解脱
程序代码:
/*很简单的一个题目,就是读入字符串,如“[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; }
求大神帮助,这是一个的大问题的输入部分,所以必须要用结构体。