#include<stdio.h> void main() { char a[4],b[5],m[6],n[7]={✀*✀,✀*✀,✀*✀,✀*✀,✀*✀,✀*✀,✀*✀};

2024-11-21 16:56:45
推荐回答(1个)
回答1:

看你的意图,应该是要输出的菱形,思路没错,但是忘记数组的界限了,数组有一个结束符'\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;
}