C语言的爱你永不悔

#前言

今天是520节,昨天晚上睡觉的时候,我家地瓜一直说520,520,我不知道要干啥,我就说,要睡就睡,不睡就起来。今天我看了朋友圈,我才知道原来520就是「我爱你」的意思。今天在朋友圈看到的一个小代码,我觉得特别有意思,然后我就转发了下,好多好多同学在下面留言。其中也有讨论了技术的问题,所以我就总结下发出来。

#代码,爱你永不悔

#include <stdio.h>
#define uint8 unsigned char

int main()
{
      uint8 love=0,day=1;
      while(love<= 365)
      {
            love += day;
      }
      return (0);
}

这个代码很有意思,如果你运行了,是永远达不到return的位置的,我在朋友圈写的含义是,爱你直到电脑死机,然后有一个同学留言说,应该是爱你永不返回「反悔」,这个解释特别贴切。

#代码,我的爱不能清零

#include <stdio.h>
#define uint long long unsigned

int main()
{
      uint love=0,day=1;
      while(love >= 0)
      {
            love += day;
      }
      return (0);
}

我们看看long long unsigned 大小

#include <stdio.h>
#include <math.h>
#define uint long long unsigned

int main()
{
      uint love=0,day=1;
      printf("%d %f\n",sizeof(uint),pow(2,sizeof(uint)*8) -1);
      return (0);
}

#这代码会不会导致电脑死机

电脑有操作系统,肯定不会死机,但是因为while里面没有sleep,操作系统在调度的时候,程序一直占用cpu,会导致cpu占用率比较高。

如果是单片机的话,就只有一个程序,这样的话,其他程序就用不了了。

#如果一直申请内存呢?会不会导致电脑挂机?

理论分析下,Android下都会由Lowmomerykiller,电脑也应该会有吧?所以你觉得应该不会死机?我写了两个小程序。

#include <stdio.h>
#include <math.h>
#include <string.h>
#define uint long long unsigned

int main()
{
      uint love=0,day=1;
      printf("%d %f\n",sizeof(uint),pow(2,sizeof(uint)*8) -1);
      while(love >= 0)
      {
            love += day;
            malloc(love);
      }
      return (0);
}

这个会死机的哦~

#include <stdio.h>
#include <math.h>
#include <string.h>
#define uint long long unsigned

int main()
{
      uint love=0,day=1;
      printf("%d %f\n",sizeof(uint),pow(2,sizeof(uint)*8) -1);
      while(love >= 0)
      {
            love += day;
            malloc(day);
      }
      return (0);
}

这个等比较久,因为申请的比较小,操作系统还能反应,所以我等了很久都没事。大家可以自己试试~

也可以评论说出自己的看法~

===========

  

PS想加入技术群的同学,加了我好友后,就给我发「篮球的大肚子」这句话,有可能机器人打瞌睡,可以多发几次,不要发与技术无关的消息或者推广。

如果想获取学习资料,就在公众号后台回复「1024」,足够多的学习资料可以让你学习。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读