首先,谢谢各位码友在百忙之中看我的问题qwq
我的问题:数组a[n][n]改为a[n][n+1]时答案才正确,但是为a[n][n]一直显示输出超限,qwq
一两个测试用例可能是正确的,但是在提交的时候显示的为输出超限,呜呜呜
这是题目哇:
#include <string.h>
#include <stdio.h>
#include <string.h>
int main()
{
int i,j,n;
scanf("%d",&n);
char a[n][n],b[n][n+1];
memset(b,'\0',sizeof(b));
for(i=0;i<n;i++)
{
scanf("%s",a[i]);
getchar();
} //输入
for(i=0;i<n;i++)
{
int k=n-1;
for(j=0;j<n;j++)
{
b[i][j]=a[k--][i];
}
} //调整
for(i=0;i<n;i++)
{
printf("%s\n",b[i]);
} //输出
return 0;
}
你定义成char数组,那么要么循环getchar来获取输入,就保证没有问题
而你是用%s以字符串方式输入的,那么数组长度不够就会溢出,结尾的\0溢出,指针越界,就容易造成数据错乱
此外,k这个变量没有意义,把k--改成n-j-1