话不多说,直接上代码,为了验证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