首页 > 编程语言 >编程中不初始化变量的垃圾值的危害

编程中不初始化变量的垃圾值的危害

时间:2023-12-30 21:44:19浏览次数:47  
标签:初始化 30 int study 编程 NUMBER 垃圾 Output dell80

  话不多说,直接上代码,为了验证elf的,编了了示例代码study.c

1 #include <stdio.h>
2
3 #define NUMBER_1 1
4 #define NUMBER_2 2
5
6 int main(int argc, char **argv)
7 {
8     int a;
9     int b;
10     int c;
11     a = NUMBER_1;
12     b = NUMBER_2;
13     c = a + c;
14
15     printf("Output c: %d\n", c);
16
17     return 0;
18 }

vim下C编程就是爽,一键编译,回车执行,可是结果却是不对,并且很诡异的是:

1 [21:30 @dell80]:~/tmp$ ./study
2 Output c: 21902
3 [21:30 @dell80]:~/tmp$ ./study
4 Output c: 21972
5 [21:30 @dell80]:~/tmp$ ./study
6 Output c: 22065
7 [21:30 @dell80]:~/tmp$ ./study
8 Output c: 22057

每次结果还都是不一样的,更诡异的是,我竟然没有反映过来是初始化问题。

主要是代码的第13行,将代码c = a + b;误写成c = a + c;

改正成功。

垃圾值没有初始化的变量真是无语。

标签:初始化,30,int,study,编程,NUMBER,垃圾,Output,dell80
From: https://www.cnblogs.com/guochaoxxl/p/17936863

相关文章

  • 垃圾回收算法-通用的分代垃圾回收机制
    垃圾回收算法-通用的分代垃圾回收机制  概要  分代垃圾回收机制,是基于这样一个事实:不同对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的回收算法,以便提高回收效率。  我们将对象分为三种状态:年轻代、年老代、永久代。同时,将处于不同状态的对象放......
  • GPIO初始化(标准库)
    流程配置时钟(RCC.h内)打开GPIO时钟(GPIOA/GPIOB)配置GPIO(GPIO.h内)一、GPIO模式(GPIO_Mode)输入代码输出代码上拉输入GPIO_Mode_IPU开漏输出GPIO_Mode_Out_OD下拉输入GPIO_Mode_IPD推挽输出GPIO_Mode_Out_PP浮空输入GPIO_Mode_IN_FLOATING开漏复用输出GPIO_Mode_AF_OD推挽复用输出GPIO_......
  • 【并发编程】CopyOnWriteArrayList详解与原理
    ......
  • JVM 的垃圾收集器
    JVM的垃圾收集器:Serial、ParNew、 ParallelScavenge、SerialOld、ParallelOld、CMS、G1。 1. 概述下图中垃圾收集器只要连线则表明垃圾收集器可以搭配使用。没有万能的收集器,具体应用选择合适的垃圾收集器。2. Serial垃圾收集器单线程收集器,用于新生代,这里的单线程指的......
  • java-多线程编程
    多线程是指在一个程序中同时执行多个线程,每个线程都是独立运行的。Java中的多线程编程允许在同一个程序中同时执行多个任务,以提高程序的效率和响应性。以下是一些与Java多线程编程相关的重要概念:线程(Thread):线程是程序的执行单元,可以并发执行多个任务。在Java中,可以通过创建Thre......
  • Modbus转Profinet,不会编程也能用!轻松快上手!
    Modbus转Profinet,不会编程也能用!轻松快上手!Modbus转Profinet是一种用于工业自动化领域的通信协议转换器,可以将Modbus协议转换为Profinet协议,实现设备之间的数据交换与通信。这个工具的使用非常简单,即使没有编程经验的人也可以轻松上手。即使不会编程的人也可以轻松快速上手使用Mo......
  • java-面向对象编程
    面向对象编程是一种编程范式,它将程序设计组织为对象的集合,这些对象通过相互之间的交互来完成任务。下面是面向对象编程的一些重要概念和Java的相关实现:类(Class)和对象(Object):在Java中,类是定义对象的模板。它描述了对象的属性(成员变量)和行为(方法)。对象是类的实例化结果,可以创建多......
  • 【GC】Java中常见的垃圾回收算法
    Java中常见的垃圾回收算法有以下几种:标记-清除算法(Mark-and-Sweep):该算法分为两个阶段,标记阶段和清除阶段。在标记阶段,垃圾回收器会遍历堆中的对象,并标记所有可达对象。在清除阶段,垃圾回收器会遍历堆中的对象,清除所有未被标记的对象。复制算法(Copying):该算法将堆分成两个区域......
  • esxi主机,自动创建30个vm,并自动完成vm初始化操作
    1[root@jump-servershell]#catfor.sh2#!/bin/bash34ESXIPASSWD=******5HOSTPASSWD=******67foriin`seq101130`8do9N=$i10echo-e"\n=================虚拟机Jump-Node$N开始制作================"1......
  • 垃圾回收机制
    垃圾回收机制(GC)垃圾回收机制(简称GC)是Python解释器自带的一种机制专门用来回收不可用的变量值所占用的内存空间(在内存中,没有变量名指向的数据都是垃圾数据)(1)引用计数name='dhy'#'dhy'的引用计数就是1a=name#'dhy'的引用计数就是2(2)标记清除#一旦你的内存空间......