㈠ 字符初始值
楼上的错了,c语言里面根本没有默认的字符值,如果你声明一个字符变量,没有初始化,里面是任意值。除非你把这个字符变量声明为全局变量,由于全局变量如果你没有初始化,编译器会自动初始化为0,这个时候你的字符变量里面才是'\0'
㈡ c语言中,定义一个数组,其中每个变量的初始值是0吗
如果是一个整型数组,而且没有初始化的话,默认值是0,如果有初始化,则以初始化的值为主
㈢ C语言字符数组不赋初值是默认为'\0'还是随机值
普通数组没有赋初值,默认的数组元素值是随机数,不是0。
如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。
例子:
#includeint main(void)
{
int m = 0;
static int n;
int a = 5, b = 6, c = 7, d = 8;
int k = ((m = a>b) && (n = c>d))
printf("k = %d, m = %d, n = %d ", k, m, n);
return 0;
}
输出结果为:k = 0, m = 0, n = 0;
当变量用static修饰,但是没有赋初始值的时候,编译器会自动给它赋值为0.但是如果不用static 只是 int n;这样定义的话,这个值就是未知的,因为编译器会给这个变量分配一块4字节的地址空间,这个地址里面的值就是n的值。
(3)c语言中字符数值初始化的默认值扩展阅读
1、数组中的每个元素都有一个序号,这个序号从0开始,而不是从熟悉的1开始,使用数组元素时,指明下标即可。
2、数组下标必须是整数,取值范围为 0 ≥ index > length。
㈣ c语言中定义变量不赋初值默认是多少
没有加static,默认为auto 型,此时,不给初值,变量的初值是随机的。
如果加了static不给初值,变量的初值是默认的 0。
其实不能说不赋初值就不行,对于局部变量,不赋初值的话,其实他里面存的是一个随机的值,谁也不知道他是多少,因此如果没赋初值的情况下就使用它,程序是完全不可控的,如你的图1,直接在while里去判断b了,因此这个while判断是不可控的。
【c语言】
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
㈤ c语言数值型数据的默认值是多少
默认值是不可意料的。
不同编译器对静态常量的处理方法可能不一致,但多数编译器翻译会汇编语言都是用的db 0这种方式,那么默认值为0,但是我们不要依赖这个,因为C语言标准没有规定一定要这么做,程序中也可以用db ?方式实现。
对于局部变量,几乎所有的编译器都是利用add bp,n之后,用[bp+n]来表示,它的值是完全不可医疗的。