#include <stdio.h> #include <math.h> #define STR "#############" #define SLEN (int)(sizeof(STR)-1) //(int)是必须的,理由大家自己思考 int main() { int n; for (n=SLEN/2;n>=-SLEN/2;n--) printf("%*.*s\n",SLEN-abs(n),SLEN-abs(n)*2,STR); return 0; }
收起
来了😁(int)是强制类型转换,sizeof的返回值是unsigned int 无符号类型在参加运算时无法表达负数所以需要强制类型转化成int来进行运算
祈求时间🥺:如果有帮助请帮舒文点个采纳谢谢
报告相同问题?