C语言改错:藏头诗:输入一组英文单词(不超过8个),要求按输入顺序取出每个单词的第一个字母并连接在一起

2025-03-19 12:30:32
推荐回答(1个)
回答1:

结尾缺少结束符

#include 
#include 
char * change(char *s[ ], int n);
int main(void)

int i,n;
char poem[8][20], *p[8];

scanf("%d",&n);
for(i = 0; i < n; i++){
scanf("%s",poem[i]);
p[i] = poem[i];
}
printf("%s\n", change(p, n));//这里用p

return 0;
}
char * change(char *s[ ], int n)
{
int i;
char *t = (char *)malloc(9 * sizeof(char));
for(i = 0; i < n; i++)
t[ i ] = s[i][0];
t[i] = '\0';//增加结束符。 
return t;
}