这是题目要求,然后我写的代码是这样的:
#include
#include
int main() {
int number=0,sign=0;
char gifts[1000]={},friends[20]={};
char str[50]={};
int length[50]={};
int n=0,i=0;
scanf("%d",&number);
while(n<number) {
scanf("%d%s",&sign,str);
if(sign==1) {
strcpy(gifts+length[i],str);
i++;
length[i]=strlen(str)+1;
memset(str,0,sizeof(str));
}
if(sign==2) {
strcpy(friends,str);
printf("%s %s\n",friends,gifts+length[i-1]);
memset(str,0,sizeof(str));
memset(gifts+length[i-1],0,sizeof(gifts+length[i-1]));
i--;
}
n++;
}
}
为什么啊!!我想这个问题好几天了....哭泣.....为什么有些不输出但是后面的搭配居然是对的??
而且我的str都给了50了,为什么onemillioncheck还显示不全呢??
请大神解答....暴风哭泣.....在线等!!