c语言赋初值
Ⅰ c语言指针赋初值问题
int
*p1=0,*p2=0,*p3=0;这里赋的是地址,指针都指向地址为0的空间就是空指针,没有实体存在,所以后便全错了。
#include
#include
void
main()
{
int
*p1=(int
*)malloc(sizeof(int)),*p2=(int
*)malloc(sizeof(int)),*p3=(int
*)malloc(sizeof(int)),*c;
*p1=0;
*p2=0;
*p3=0;
printf("请输入任意三个整数(中间以空格隔开:)");
scanf("%d
%d
%d",p1,p2,p3);
if(*p1>*p2)
{c=p1;p1=p2;p2=c;}
if(*p2>*p3)
{c=p2;p2=p3;p3=c;}
if(*p1>*p2)
{c=p1;p1=p2;p2=c;}
printf("%d,%d,%d\n",*p1,*p2,*p3);
}
一楼说的是对的,回答问题是并行的,早知道他答了,我就不回答了,还有你的数值交换还存在很大的问题。你自己看看吧。
Ⅱ c语言中定义变量不赋初值是多少
没有加static,默认为auto 型,此时,不给初值,变量的初值是随机的。
如果加了static不给初值,变量的初值是默认的 0。
其实不能说不赋初值就不行,对于局部变量,不赋初值的话,其实他里面存的是一个随机的值,谁也不知道他是多少,因此如果没赋初值的情况下就使用它,程序是完全不可控的,如你的图1,直接在while里去判断b了,因此这个while判断是不可控的。
【c语言】
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
Ⅲ c语言如何给一个大数组赋初值
有3种方法。
1.
将数据保存到文件中,再直接从文件读取。
2.
因为是二维字符数组,可以直接用字符串赋值,如:
char strs[2][11]=
{
"123456",
"asd"
};
3.
将所有数据定义成宏,再赋值,如:
#define data { \
{'a','b','c'}, \
{'a','1',b','c','5'} \
}
char str[2][11]=data;
Ⅳ C语言中怎么给数组赋初值
inta[5]={1,2,3,4};
charb[]="abcdefg";
数组定义时可以直接赋值初始化。
如果在定义之后,要么通过循环语句一个一个赋值,要么使用内存操作函数统一初始化。
Ⅳ c语言里变量的"初始化"和"赋初值"一样吗
语法上的初始化是指对象定义时,对应的分配空间之后对于值的操作。C语言中,静态和全局变量默认置0,有初始化列表的复制初始化列表的值到空间(如有不足,剩余部分置0),局部自动变量可以不初始化(调试器参与时可能被隐式地初始化为其它的值("debug magic number"),例如默认情况下Microsoft C/C++ Debugger会把栈中未初始化的字节置为0xCC)。
赋初值一般而言是指逻辑意义上的初始化。在C语言中,由于初始化的语法是“=”后加初值,所以“赋初值”基本上就是指语法上的初始化。不过随着语言的发展,“赋初值”的意义发生了扩大。对有构造语义但又允许不初始化而不产生编译错误的程序设计语言而言,两者有些微妙的差别。例如C++的构造函数中,用若干个成员名和括号括起来的初始化值构成的初始化列表是语法上的初始化(也可能是逻辑意义上的初始化,如果没有被构造函数体内的值覆盖),而构造函数体中对成员的赋值语句是逻辑上的初始化但不是语法上的初始化。
冰的悸动 错误:
1.“程序开始时进行初始化”的说法仅仅适用于静态或全局变量,而不适于局部自动变量。局部自动变量在函数调用时才能被初始化。
2.“但是根据编译器的不同有些编译器会自动赋初值0或其他”——这在ISO/IEC C语言标准中不是由实现定义的行为,如果一个编译器符合标准,那么行为就是明确的,即视此初始化的对象是否为全局对象来判断隐式初始化置0还是不进行初始化——从下面的函数定义来看这里应该var2是全局变量,会被置0。非标准编译器则另当别论(但是我还没见过会在这点上没事找茬的)。
Ⅵ 什么是c语言里面的赋初值
通俗点???
例如:
你买了一支笔,当你买到手的时候,商家已经给这根笔加了一根蓝色的笔芯。
笔就是变量;
笔芯就是商家给笔赋的初值。
另:赋值
当你不想用蓝色想用黑色时,
根据笔规格(变量类型)找到适合的黑色笔芯就可以了。
不用另外再买一支笔。
Ⅶ C语言中的定义变量赋予初值
不是的,在局部变量默认是auto的,初始值是随机的,只有外部变量或者是static默认值才是0
Ⅷ c语言中如何给数组定义并赋初值
字符串数组定义赋值:
char c[6]={'c', ' h ', 'i', 'n', 'a' , '