#include
int main()
{
int i,j,m,n;
//char a[m][n];
printf("請輸入行和列:\n");
scanf("%d,%d",&i,&j);
printf("\n");
char a[i][j];
for(m=0;m<i;m++)
{
if(m==0||m==i-1)
for(n=0;n<j;n++)
a[m][n]='*';
else
for(n=0;n<j;n++)
{
if(n==0||n==j-1)
{
a[m][0]='*';
a[m][j-1]='*';
}
else a[m][n]=' ';
}
for(m=0;m<i;m++)
{
for(n=0;n<j;n++)
printf("%c",a[m][n]);
printf("\n");
}
}
return 0;
}
數組大小必須是常量,所謂常量,就是編譯器能從你代碼中直接確定大小。
和放在輸入前輸入後沒關系。你的代碼還是要運行的時候才能知道大小。
那麼只能動態分配,用new。