void heart(int size, int time) { //system("color 70"); int i,j,n,m; n = (size+1)/2; m = 3*n/4; for(i=m/2; i<n/2; i++) { for(j=0; j<n/2-i; j++) { printf(" "); } for(j=0; j<2*i-n/2; j++) { printf("\33[31m\33[1m**\33[0m"); } for(j=0; j<2*(n/2-i)-1; j++) { printf(" "); } printf(" "); for(j=0; j<2*i-n/2; j++) { printf("\33[31m\33[1m**\33[0m"); } printf("\n"); usleep(time); } for(i=n/2; i>0; i--) { if(i==n/2) { printf(" "); for(j=0; j<4*i-3; j++) { printf("\33[31m\33[1m*\33[0m"); } printf("\n"); usleep(time); } else { for(j=0; j<n/2-i; j++) { printf(" "); } for(j=0; j<4*i-1; j++) { printf("\33[31m\33[1m*\33[0m"); } printf("\n"); usleep(time); } } if(n%2==0) { for(j=0; j<n-1; j++) { printf(" "); } printf("\33[31m\33[1m*\33[0m\n"); usleep(time); } else { for(j=0; j<n-2; j++) { printf(" "); } printf("\33[31m\33[1m*\33[0m\n"); usleep(time); } }
时间: 2024-02-14 11:14:27 浏览: 88
文件I/O常用函数总结
这段代码是用来打印一个红色的心形图案。其中用到了 ANSI Escape Code,这是一种控制终端输出的方式,可以用来设置字体颜色、背景色等等。
在这段代码中,\33[31m 表示设置为红色字体,\33[1m 表示设置为粗体字,\33[0m 表示重置字体为默认值。具体的细节可以参考 ANSI Escape Code 的文档。
至于您提到的运行框颜色修改后没有生效的问题,可能是因为这段代码中运用了 ANSI Escape Code,而某些终端不支持 ANSI Escape Code。您可以尝试在其他支持 ANSI Escape Code 的终端上运行这段代码,看看是否可以正常显示红色的心形图案。
阅读全文