看你的意图,应该是要输出的菱形,思路没错,但是忘记数组的界限了,数组有一个结束符'\0',也要占一个字节,我把你的改动了一下,运行结果如图:
#include
int main()
{
char a[5],b[6],m[7];
char n[8]={'*','*','*','*','*','*','*'};
int i,r,t;
for(i=0;i<=3;i++)
{
if(i!=3)
{
a[i]=' ';
}
else
a[i]='*';
}
a[i] = '\0';
for(r=0;r<=4;r++)
{
if(r<=1)
{
b[r]=' ';
}
else
b[r]='*';
}
b[r] = '\0';
for(t=0;t<=5;t++)
{
if(t==0)
{
m[t]=' ';
}
else
m[t]='*';
}
m[t] = '\0';
printf("%s\n",a);
printf("%s\n",b);
printf("%s\n",m);
printf("%s\n",n);
printf("%s\n",m);
printf("%s\n",b);
printf("%s\n",a);
return 0;
}