今天做这个题第一遍没过,一直也没想明白自己错哪了,在电脑上都能跑。看别人代码都爱用gets(),很吓人。最后检查发现是没加'\0'。自我感觉是比较好的答案(相对于网上),大家给评评,让我学习学习。(新手勿骂)
#include<stdio.h>
#include<string.h>
#define MAX 3*9+1 // 定义最长文字数,9个
#define Line 4
int main()
{
char ch[MAX];
char result[3*Line+1] = "";
for(int i=0; i<Line; i++)
{
scanf("%s", ch);
strcat(result, &(ch[strlen(ch)-3])); // 将每行诗的最后一个文字赋给结果
}
result[3*Line] = '\0'; // 添加'\0',使结果为一个字符串
puts(result);
return 0;
}