当前位置:首页 » 编程语言 » c语言赋初值

c语言赋初值

发布时间: 2022-01-08 15:45:39

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' , '' }

整数数组定义赋值:

int a[5]={1,2,3,4,5};

int a[5];

for(int i=0;i<5;i++)

a[i]=i;

定义float数组并赋值:

float b[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0.0}

(8)c语言赋初值扩展阅读:

数组:是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。

声明固定大小的数组:

有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:

1,建立公用数组,在模块的声明段用 Public语句声明数组。

2,建立模块级数组,在模块的声明段用 Private语句声明数组。

3,建立局部数组,在过程中用 Private语句声明数组。

参考资料来源:网络-数组

Ⅸ C语言 能正确对字符串赋值、赋初值的语句组是

B正确
A)字符串应以'\0'结尾,应改为:char s[ ]={'a','e','i','o','u','\0'};

C)这样赋值编译器会默认在结尾处加'\0',由于指定s只能放5个字符,所以good!后若加'\0'会导致数组越界,应改为:char s[6] = “good!”此时字符串中的值为'g' 'o' 'o' 'd' '\0'
D)char s[5]后面是分号代表语句结束,s = "good"是下一语句的开始,字符串无法以该方式赋值,应改为s[0] = 'g'; s[1] = 'o'; s[2] = 'o'; s[3] = 'd'; s[4] = '\0';

Ⅹ c语言字符串赋初值

scanf("%c",&s[i]);
/*这条语句就是要你输入字符*/
for(i=0;i<7;i++)
printf("%c",s[i]);
/*这里是输出你输入的字符
二,三楼的说的都错了,你运行程序时直接可以给数组赋初值的
我想你没搞明白的是到底上面输入的是字符,还是字符串吧
%c格式输入输出的是单个字符
%s格式输入输出的是一个字符串
因为你上面的是字义的一个数组,所以输入输出的时候都是string,%c格式是将单个字符依次给数组,输出时也是单个输出的

热点内容
麦块有什么服务器 发布:2024-12-25 22:12:58 浏览:374
网上比较火的安卓系统是什么 发布:2024-12-25 21:57:06 浏览:993
数据库一个的和 发布:2024-12-25 21:50:40 浏览:465
钙化分析算法 发布:2024-12-25 21:49:51 浏览:462
运用计算法 发布:2024-12-25 21:49:46 浏览:943
微信安装安卓707什么意思 发布:2024-12-25 21:38:15 浏览:882
演示文稿如何取消密码 发布:2024-12-25 21:21:18 浏览:99
最近上传视频 发布:2024-12-25 21:05:39 浏览:396
php招聘源码 发布:2024-12-25 21:05:38 浏览:991
c语言输入数组赋值 发布:2024-12-25 21:01:43 浏览:655