\n引发的问题。我摊牌,我不会。

第81行,\n写不写决定了最后的显示
printf("机器吃了%d个豆子\n",an);
printf("机器吃了%d个豆子",an);

原因是什么(#-.-)

img

img


#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
int x=0,y=0,n=0,a;
char p;
int dx,dy,bx,by;
short fw=0,gb=0;
int ax=7,ay=7,an=0;
void dd() {
    while(1) {
        dx=rand()%8;
        dy=rand()%8;
        if(dy!=y&&dx!=x&&ax!=dx&&ay!=dy) break;
    }
    while(1) {
        bx=rand()%8;
        by=rand()%8;
        if(by!=y&&bx!=x&&bx!=dx&&ay!=by) break;
//随机生成豆豆坐标和防止生成在操作角色坐标
    }
}
//机器人抢豆子(不知道取啥名字)
void name() {
    if(ax<dx) ax++;//先找到豆子列
    else if(ax>dx) ax--;
    else if(ay>dy) ay--;//再从行下手
    else if(ay<dy) ay++;
    if(ax==dx&&ay==dy||x==dx&&y==dy||ax==bx&&ay==by||x==bx&&y==by)
    {
        if(ax==dx&&ay==dy||ax==bx&&ay==by)
        {   if(x==ax&&y==ay&&rand()&1||x==bx&&y==by&&rand()&1) n++;
            else
                an++;
        }
        else if(x==dx&&y==dy||x==bx&&y==by)
        {   if(x==ax&&y==ay&&rand()&1||ax==bx&&ay==by&&rand()&1) an++;
            n++;
        }
//当同时吃到时则随机判断
        gb=1;
    }
//如果都为false直接判断为吃到豆子
}
void wasd() {
    fw=0;
    if(p=='w'&&x>0) x--,fw=1;
    else if(p=='s'&&x<7) x++,fw=1;
    else if(p=='a'&&y>0) y--,fw=1;
    else

        if(p=='d'&&y<7) y++,fw=1;
//防止操作超出地图

}
int main() {
    srand(time(0));
    time_t t,h;//计算时间用
    t=time(0);//获取时间
    dd();
    while(1) {       
abc:
        h=time(0)-t;//获取当前时间
//放大了地图
        printf("\n使用wasd操作你的角色[]吃豆子\n");
        printf(" ----------------\n");
        for(int i=0; i<8; i++) {
            printf("|");
            for(int j=0; j<8; j++)
                if(x==i&&y==j&&ax==i&&ay==j) printf("[>");
                else if(ax==i&&ay==j) printf("<>");
                else if(x==i&&y==j) printf("[]");
                else if(dx==i&&dy==j||bx==i&&by==j) printf("* ");
                else printf("  ");
            printf("|\n");
        }
        printf(" ----------------\n");
        printf("%d %d\n",ax,ay);
        printf("已过时间:%lu\n",h);
        printf("你吃了%d个豆子\n",n);
        printf("机器吃了%d个豆子\n",an);
        
        while(!kbhit())
            if(h<time(0)-t) {
                clrscr();
                goto abc;
            }
        p=getch();
        wasd();
        if(fw) name();
        if(x==dx&&y==dy) gb=1;
        if(gb==1)
            dd();
        gb=0;
        clrscr();
    }
    return 0;
}

怎么变82行了→_→