根据我的说法,代码很好。我已经尝试逐行调试它,但出乎意料的是,这段代码给了我一个运行时错误,我无法理解为什么这段代码会出现这样的错误。有人可以通过我在这里使用的字符串函数,如果可能的话,请告诉我为什么这个程序会给出运行时错误?此代码的 ideone 链接是http://ideone.com/LyFTWu
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int t,i;
//printf("md");
scanf("%d",&t);
for(i=0;i<t;i++)
{
int n,j,k,f,g=0;
char a[50][57],c[50];
//printf("me");
scanf("%d",&n);
//printf("%d",n);
//m=getchar();
//printf("me\n");
getchar();
for(j=0;j<n;j++)
{
k=0;
while(1)
{
a[j][k]=getchar();
//printf("%c",a[j][k]);
if(a[j][k]=='\n') break;
k++;
}
//printf("me\n");
}
for(j=n-1;j>=0;j--)
{
k=0;
g=0;
if(j==n-1)
{
printf("Begin ");
}
else if(a[j+1][0]=='L')
{
printf("Right ");
}
else if(a[j+1][0]=='R')
{
printf("Left ");
}
while(1)
{
while(a[j][k]!='o'&&g==0)
{
k++;
}
g=1;
//printf("me");
if(a[j][k]=='\n') break;
printf("%c",a[j][k]);
k++;
}
printf("\n");
}
}
return(0);
}