VS2010 编写c语言变量为什么要初始化?

如题所述

1、C
语言变量
可以不初始化。直接定义int
a;
printf("%d",&a);这两句程序是直接定义并且输出变量的值,这个要看
编译器
了,有的编译会输出0,这是编译器初始化了,默认初始化为0。如果有的编译器不初始化的话会报错,即使不报错,那么printf输出的数字是随机的,是这个内存中之前存储的数据。
2、变量是程序
中数据
的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。变量可以保存程序运行时用户输入的数据(如使用InputBox函数在屏幕上显示一个对话框,然后把用户键入的
文本保存
到变量中)、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-01-18
错误出在
scanf("%d",salary);
这一行并没有为salary变量赋值,而且salary变量也没有赋初值,所以它的值是一个随机值,不可使用。而后面的语句却要使用salary的值,当然会出错,改为
scanf("%d",&salary);
即可。

VS2010 编写c语言变量为什么要初始化?
1、C 语言变量 可以不初始化。直接定义int a;printf("%d",&a);这两句程序是直接定义并且输出变量的值,这个要看 编译器 了,有的编译会输出0,这是编译器初始化了,默认初始化为0。如果有的编译器不初始化的话会报错,即使不报错,那么printf输出的数字是随机的,是这个内存中之前存储的数据。2...

C语言整型变量定义问题
程序可以正常运行 ,,我的测试平台是 vs2010 ,程序我看了,没有问题,,你将报警信息贴出来看看。这些错误根本不存在,,,你新建一个项目,然后粘贴过去试试。。 程序本身没有问题。。

用VS2010写C程序,怎么把浮点型数据赋值给整型变量
类型强制转换 比如 float a = 12.536; int b = (int)a;这样就把浮点数转换成了整型。

请教C语言高手,C语言常量变量能通过地址去修改吗?
VS2010已经进行了优化在编译的时候直接把用到a的地方用10代替了,这样问题2就可以理解了。针对问题1:从问题2的解释我们可以推出在定义局部常变量的时候编译系统并没有限制改内存变量区为只读,也许这是为了提高编译效率,通过问题2的分析可以推出在 GCC下对局部常变量a的处理和VC2010不一样,GCC是从内...

VC++2010在编写完C语言后调试结果为文件无效或损坏
VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误...

vs2010与vc++6.0的编程有什么区别?
1、编译器的不同 VC6.0更初级,更适合初学C语言的人使用,但是由于VC6.0推出的时间比较久,因此有很多变量和函数定义的方法都跟不上时代了,而且与win7会有一些不兼容;VS2010:相对功能比较完善,兼容性更好,代码风格和代码提示对于编程者来说更完善,编写程序更方便。2、实现功能的不同 从VS2002...

C语言中的变量可以赋值吗?
在 VC++ 6.0 或者 VS2010 下编译的时候会提示下面的错误:但是这种写法在.cpp文件(C++ 源文件)中是允许的,.cpp文件中可以在程序的任意位置定义变量。其实这与语言本身并没有什么关系,并不是说C语言中变量就不能定义在程序中间。这实际上是与标准有关系的,有些编译器使用的是 C89 标准,C89...

未在定义语句中赋初值的auto变量和static变量的初值都是随机值。请问...
C语言标准里面,auto变量的初始值没有做要求,一般是随机的,它分到那块内存原来是什么,还是什么。static变量是静态变量,如果定义时未对其赋初值,编译时系统对数值型static变量赋值为0,对字符型变量赋值空。static的三条重要作用:(1)最主要功能是隐藏。(2)因为static变量存放在静态存储区,第二...

关于C语言开发环境问题?(VC++6.0与Visual Studio 2013)
回答:VS包括了VC,VS在2000年发布,其中包含了VC,VC6是96年发布的产品,VC++6.0使用多的原因二级和谭浩强(此处省略N个羊驼),VC++6.0只只支持标准C++的86%,微软官方解释:VS2008已经能支持标准C++的98%。VC的编译器Bug很多,而且目前电脑基本上是win7及以上系统(除了学校),为啥还要用Vc这个20世纪的产品。...

关于Unicode和多字符字集。
变量c需要1个字节来保存,并将用十六进制数0x41初始化,这是字母A的ASCII代码。您可以像这样定义一个指向字符串的指针:char * p ; 因为Windows是一个32位操作系统,所以指针变量p需要用4个字节保存。您还可初始化一个指向字符串的指针:char * p = "Hello!" ; 像前面一样,变量p也需要用4个字节保存。该字符...

相似回答
大家正在搜