那个网站做苗木,网站辅助导航,Wordpress二次开发多少钱,地方门户网站盈利模式接上一篇文章#xff0c;很多人还是搞不清楚ptr1[-1]是怎么回事#xff0c;可以看看这篇文章#xff0c;看完的同学还是多转发的#xff0c;让更多的人看到。一道90%都会做错的指针题偶然的一次机会在知乎上看到这个代码#xff0c;里面涉及的C语言点我觉得很酷#xff0… 接上一篇文章很多人还是搞不清楚ptr1[-1]是怎么回事可以看看这篇文章看完的同学还是多转发的让更多的人看到。一道90%都会做错的指针题偶然的一次机会在知乎上看到这个代码里面涉及的C语言点我觉得很酷拿出来分享给大家我认为技术的话只要是跟嵌入式有关跟C语言有关的我都喜欢写大家有想了解的东西也可以评论留言给我希望给大家分享更多优质的内容优质的阅读体验。我们看一下吃豆人的图片看起来非常酷如果我们就用几行代码就能画出吃豆人这样会不会更酷好吧我们不吹牛先从第一步开始。第一步就是先画一个长方形类似这样的#include math.h
#include stdio.hint main(){double x,y;/*在 -1 和 1 的区间内画出一个矩阵*/for(y 1;y-1;y-0.05,putchar(\n))for(x -1;x1;x0.025)putchar(.);getchar();
}
输出图片如下这个代码应该不难吧画出了这个之后下面就是比较困难的了就是在这个长方形里面勾勒出那个圆形。画圆形的代码应该也是不难的画圆形的代码如下#include math.h
#include stdio.hint main(){double x,y;for(y 1;y-1;y-0.05,putchar(\n))for(x -1;x1;x0.025)putchar( .[x*x y*y 1 /*确定圆形的位置*/]);/*pow(x,y) x的y 字幂 画吃豆人的眼睛*/getchar();
}
输出图片如下完整代码#include math.h
#include stdio.hint main(){double x,y;for(y 0.9;y-0.9;y-0.05,putchar(\n))for(x -1;x1;x0.025)putchar( .[x*x y*y 1 /*确定圆形的位置*/fabs(atan2(y,x)) 0.5 /*fabs 求绝对值 画吃豆人的嘴巴*/x*x pow(y-0.5,2) 0.02]);/*pow(x,y) x的y 字幂 画吃豆人的眼睛*/getchar();
}
分析一putchar( .[])
这个代码我刚开起来有点拗眼不知道写的是什么但是既然用到[]那就肯定是跟数组有关系的。我写了小代码#include math.h
#include stdio.hint main(){putchar( y[1]);getchar();
}
这个输出如下y
其实我们这样看还不很明朗的话我们可以这样看#include math.h
#include stdio.hint main(){char *pos xy;putchar(pos[1]);getchar();
}
这个代码输出结果跟上面是一样的pos 也就是那个字符串的别名。这样我们就知道了putchar( .[这句是通过后面的值来输出空格「 」 还是「 . 」。分析二继续分析上面的三句关键代码x*x y*y 1 /*确定圆形的位置*/
fabs(atan2(y,x)) 0.5 /*fabs 求绝对值 画吃豆人的嘴巴*/
x*x pow(y-0.5,2) 0.02]);/*pow(x,y) x的y 字幂 画吃豆人的眼睛*/
第一行是确定这个圆形。第二行是用来确定吃豆人的嘴巴的这个要有点数学功底才行写这个的时候我的数学基本已经送给老师了。第三行是用来画吃豆人的眼睛的。吃豆人的眼睛可以用下面这个代码来演示下#include math.h
#include stdio.hint main(){double x,y;for(y 1;y-1;y-0.05,putchar(\n))for(x -1;x1;x0.025)putchar( .[x*x y*y 1 /*确定圆形的位置*/fabs(atan2(y,x)) 0.5 /*fabs 求绝对值 画吃豆人的嘴巴*/x*x(y-0.5)*(y-0.5) 0.02]);/*pow(x,y) x的y 字幂 画吃豆人的眼睛*/getchar();
}
x*x(y-0.5)*(y-0.5)
这行代码决定小圆大于号决定小圆的大小边界。分析三atan2这个函数很强大我们学习三角函数的时候用的是tan但是这个atan2用的是两个参数看我上面的图片atan2(0,1) 0atan2(y,x) 第一个参数是 y 第二个参数是 x。最后运行如下图上文源代码转自https://www.zhihu.com/people/miloyip/activities扫码或长按关注回复「 篮球的大肚子 」进入技术群聊