我还在,好好的。

640

阅读文本大概需要 2 分钟。

不知道大家想我了没?自从上次想分享一篇内涵段子被关停的文章审核失败之后,好长时间没发文了,这两天看了后台评论,好多人表示很担心,是不是被封号之类的,今天,告诉下大家,我还在,好好的,多谢大家记挂。

这里补个截图吧,上次想发的文章就是这个:

640

有人纳闷是不是我又管不住嘴,乱说话了,文中涉及到一些敏感话题之类的,其实真没有,文章内容很纯粹,没有大家想象的那样。不过后来搞清楚原因,文章被删,包括素材都被删,应该是文中出现了一些近期敏感的词,现在处于整顿阶段,一些词是不允许出现的,所以直接被删,近期处理就是这么强势。

看了很多读者的评论我表示很欣慰,有读者猜测是不是之前发的关于武理工的文章尺度太大,建议我以后说话还是小心为妙,不然因此少了一个敢于说真话、同时分享知识与认知的良心公号会很伤心。

听到这话我内心还是有点小感动的,但是感动归感动,我心里其实很清楚,我不过是万千公号中的一个而已,这个号以后万一真的被封了,你们最多短期内会挂念些,用不了多久,其实大部分人就会逐渐忘记,每个人的生活回归常态,就如我们从未相遇过一般,这不是无情,这是人之常情。

所以,我还是很有自知之明的,我也就是幸运些,被这么多人关注,可以借此发出声音而已,除此之外,其实就跟你们一样是个普通人,普通的前码农,普通的打工仔。

但是既然被这么多人关注,分享知识与认知的同时,我觉得多少也该发出点真实声音,总归有点社会责任感。

可能很多人不相信,我刚写代码那会,心里一直有个改变世界的梦想,我英雄主义情节超重,总想着以后可以为这个世界做点什么,可是,逐渐的,我特么才发现,这个世界不需要我拯救,我自己连生存都是问题,我不给世界添麻烦、拖后腿就很不错了,妈蛋的,我这性格其实很不愿意接受现实,但还是被现实把棱角磨平了。

我现在的梦想绝不是什么改变世界之类的,我就想做个普通人,让自己以及家人过的更好就行了,做好人太累,做坏人心里过不去,做个普通人我觉得就挺好,遇到能帮的我就顺手帮一把,帮不了的你也不用道德绑架。所以,我现在在公号分享有价值的东西给我的读者们,但同时也偶尔接点广告养家糊口,也是凭本事吃饭,大家各取所需,没有所谓的亏欠与欺骗,就这么简单挺好。


不曾想,这几年被越来越多的人关注,公号也有点影响力了,在公司也被老板器重,自己的职业发展也还算顺利,我家人的生活也比以前好太多,不用操心生存的问题了。所以,以前的那股英雄气不知道咋又冒出来了,这几年公号上发过不少声,批判过社会上一些不公现象,帮人讨过薪,揭露过一些不为人知的真相......

有人问,你胆子怎么这么大?

可能很多人不知道,去年参加 Google IO,有一个狐朋狗友说美国不限速,我竟然傻傻的信了(后来才知道,他特么是在电视上看的),然后在美国超速,被三辆警车追了几十公里被逼停,被警察拿枪指着,自从那次之后,尼玛胆子有了质的提升,所以相比那次,发文章批判下现实总觉得不值一提。

不过我也不是傻大胆,我有非常好的律师朋友,一些拿捏不定的话语一般会请教他们,所以,大家不用过于担心我的口无遮拦。

不过,有人可能会质疑我敢于说真话,不过是一种营销套路,博关注而已,嗯,有人这么想完全正常,就好比老罗的手机发布会,每次发布会门票所得都会拿去捐款被质疑一样,被质疑以此博同情,做营销,哪怕锤子科技在最困难的时候,这个捐款一直没停过。咱不说锤子手机咋样,我要说的是,你拿上百万的真金白银去捐款、做慈善,哪怕就是为了营销做做样子,博取个情怀,你特么能做到我也佩服你。

所以,就发布会收入捐款这件事,我还是挺佩服老罗的,打心眼里。

之后,我还会继续给大家分享对你们有用的东西,但同时我还是会继续保持我敢于说真话的性格,如果连有发声权利的人都不再说真话了,那么这个社会,真相将离我们越来越远。

庆幸的是,每个社会永远都有一批这样的人存在,就好比最近一个非常火爆的事件,某药酒违法 2630 次安然无恙,然而一位医生仅仅发了一篇科普文却被跨省抓捕,听起来是不是很荒唐?然而却是这个社会真实发生的。

好在,还是有一些媒体敢于说真话的,比如丁香医生和六神磊磊,佩服有这样一批人与媒体存在,让我们的社会变得更好一点,让每个人离真相更近一些。这两篇文章转给大家,希望让每个人都知道真相:


某药酒违法 2630 次安然无恙,医生发 1 篇科普文却被跨省抓捕

跨省抓捕和跨省抓科普


最后,我还在,希望可以一直在,感谢大家的陪伴与信任。



一个敢说真话的码农

640?

```markdown 当然可以!这次我会用最温柔、最清晰的方式,一步一步带你理解这段代码,就像老师坐在你旁边陪你学习一样 ❤️ --- ## 代码概述 这是一段用 C 语言写的程序,它的任务是:**把一组人名按照字母顺序(字典序)排好,并打印出来**。 比如 `"Alice"`、`"Bob"`、`"Charlie"` 这些名字,按首字母 A、B、C 的顺序排列。 它没有直接使用标准排序方法,而是自己写了一个通用的排序函数,还用了“函数指针”这种高级技巧,让代码更灵活。 我们来一点点讲清楚每一步。 --- ## 代码解析 ### 第一步:包含头文件 ```c #include <stdio.h> #include <string.h> ``` - `#include <stdio.h>`:这是输入输出库,让我们能用 `printf` 打印内容。 - `#include <string.h>`:这是字符串处理库,提供了 `strcmp` 函数,用来比较两个字符串的大小。 > 比如:`"Apple"` 和 `"Banana"`,因为 `'A' < 'B'`,所以 `"Apple" < "Banana"`。 --- ### 第二步:自定义交换函数 `swap` ```c void swap(char **a, char **b) { char *temp = *a; *a = *b; *b = temp; } ``` 这个函数的作用是:**交换两个字符串的位置**。 我们来想象一下: - `a` 是一个指向 `"Bob"` 的指针, - `b` 是一个指向 `"Alice"` 的指针, 我们要把它们换过来,让 `a` 指向 `"Alice"`,`b` 指向 `"Bob"`。 但是注意!我们传进来的是指针的地址(也就是 `char**`),所以要用 `*a` 和 `*b` 取出真正的值。 📌 就像交换两本书的位置,你要拿着它们的书架编号去操作。 --- ### 第三步:自定义排序函数 `sort` ```c void sort(char *arr[], int n, int (*cmp)(const char *, const char *), void (*swp)(char **, char **)) ``` 这个函数有点长,但其实很好懂。我们拆开来看: - `char *arr[]`:这是一个字符串数组,里面存着像 `"Alice"`、`"Bob"` 这样的名字。 - `int n`:表示有多少个名字要排序。 - `int (*cmp)(...)`:这是一个**函数指针**,意思是“告诉我怎么比较两个字符串”。 - 我们会传入 `strcmp`,它是系统提供的比较函数。 - 如果 `strcmp(a, b) > 0`,说明 `a > b`,应该交换。 - `void (*swp)(...)`:这也是一个函数指针,表示“告诉我怎么交换两个字符串”。 - 我们传入的是上面写的 `swap` 函数。 🧠 排序逻辑是冒泡排序的思想: ```c for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (cmp(arr[i], arr[j]) > 0) { // 如果前面的名字比后面的大 swp(&arr[i], &arr[j]); // 就交换它们的位置 } } } ``` 举个例子: - 当前有 `"Bob"` 在 `"Alice"` 前面。 - `strcmp("Bob", "Alice")` 返回正数 → 说明 `"Bob" > "Alice"`。 - 所以我们要交换,变成 `"Alice"` 在前,`"Bob"` 在后。 这样一遍遍比较下来,名字就从小到大排好了 ✅ --- ### 第四步:主函数 `main()` ```c char *names[] = {"Alice", "Bob", "Charlie", "David", "Eve"}; ``` 定义一个字符串数组,保存5个人的名字。 ```c int n = sizeof(names) / sizeof(names[0]); ``` 计算数组中有多少个元素: - `sizeof(names)` 是整个数组的字节数(假设每个指针8字节,则 $5 \times 8 = 40$)。 - `sizeof(names[0])` 是一个指针的字节数(8)。 - 所以 $n = 40 / 8 = 5$,正确! ```c sort(names, n, strcmp, swap); ``` 调用我们写的 `sort` 函数: - 把 `names` 数组传进去, - 用 `strcmp` 来比较, - 用 `swap` 来交换。 最后名字就会按字典序排好啦! ```c for (int i = 0; i < n; i++) { printf("%s\n", names[i]); } ``` 输出结果: ``` Alice Bob Charlie David Eve ``` 是不是很整齐呢?😄 --- ## 知识点 - **函数指针**:可以把函数当作参数传递,让程序更灵活。例如 `cmp` 和 `swp` 都是指向函数的指针,实现可替换的行为。 - **strcmp 函数**:用于比较两个字符串的字典序,相等返回0,前者大返回正数,小则返回负数,是排序判断依据。 - **指针数组与字符串管理**:`char *names[]` 存储的是字符串首地址,排序时只需交换指针,无需移动真实数据,效率高。 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值