正文

解析:菱形的高效率代码2005-08-15 12:28:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/billgacsli/3796.html

分享到:

解析:菱形的高效率代码输出菱形的高效率代码如下:#include int main(int _){   while(_!=10)   {      printf("%*s\n",_<=5?4+_:14-_,"*********"+(_<=5?10-2*_:2*_-10));           _++;   }  return 0;}运行结果如下:    *   ***  ****************************  *****   ***    *(注:第4、6行显示有误。应为一个菱形。下同)解析:1.printf("%*s", int, char*);%*表示右对齐方式显示,int为从左起到右对齐处的字符数例如:printf("%*d", 4, 345);输出结果如下:3452._<=5?4+_:14-_该表达式即是计算菱形右边界3."*********"+(_<=5?10-2*_:2*_-10)该表达式是计算显示*的个数,事实上是地址运算。printf("%p\n", "*********"+(_<=5?10-2*_:2*_-10));注:%p为输出16进制32位地址。则输出:00420FA000420F9E00420F9C00420F9A00420F9800420F9A00420F9C00420F9E00420FA0若改为printf("%*s\n",_<=5?4+_:14-_,"123456789"+(_<=5?10-2*_:2*_-10));则输出结果如下:    9   789  5678934567891234567893456789  56789   789    94._是命令行参数个数,直接运行其初值为1,若代参数运行,结果有误。可通过对其赋值解决,即 while语句前添加 _ = 1;

阅读(3576) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册