字符数组初始化
2016-04-06 00:00
78 查看
Q:不能把字符串"HELLO!"赋给数组b的语句是(B)
A:字符数组初始化有两种方法:一种是逐个字符赋值,另一种是用字符常量对整个数组赋值。
A是第一种,D是第二种,显然第一种比第二种繁琐复杂, C是字符串拷贝函数,B不存在将字符串常量直接赋值给char数组变量的方式。
拓展:
函数格式: char *strcpy (char *s1, const char *s2); 功能: 将S2所指的字符串拷贝到S1所指的字符串中。
说明:
(1)参数S1S2都是指向字符串的指针。S1可以是字符数组名或字符指针,但不能是字符型常量,S2可以是字符串常量、字符数组或字符指针;
(2)将S2所指的字符串拷贝到S1所指的字符串中,用赋值语句S1=S2;是不行的,赋值语句要求左边是左值,S1是常量;
(3)要保证S1的长度足够大,以便能容纳下S2所指的字符串,否则引起错误。 C 对于非strtic型数组不初始化,其元素值不能确定。对strtic数组元素不赋初值,系统会自动赋以0值。
A、char b[10]={'H','E','L','L','O','!','\0'};
B、char b[10];b="HELLO!";
C、char b[10];strcpy(b,"HELLO!");
D、char b[10]="HELLO!";
A:字符数组初始化有两种方法:一种是逐个字符赋值,另一种是用字符常量对整个数组赋值。
A是第一种,D是第二种,显然第一种比第二种繁琐复杂, C是字符串拷贝函数,B不存在将字符串常量直接赋值给char数组变量的方式。
拓展:
函数格式: char *strcpy (char *s1, const char *s2); 功能: 将S2所指的字符串拷贝到S1所指的字符串中。
说明:
(1)参数S1S2都是指向字符串的指针。S1可以是字符数组名或字符指针,但不能是字符型常量,S2可以是字符串常量、字符数组或字符指针;
(2)将S2所指的字符串拷贝到S1所指的字符串中,用赋值语句S1=S2;是不行的,赋值语句要求左边是左值,S1是常量;
(3)要保证S1的长度足够大,以便能容纳下S2所指的字符串,否则引起错误。 C 对于非strtic型数组不初始化,其元素值不能确定。对strtic数组元素不赋初值,系统会自动赋以0值。
相关文章推荐
- 野指针产生
- C/C++中的转义字符
- C++ 值传递、指针传递、引用传递
- 桶排序
- 冒泡排序
- 快速排序
- 天下数据解读DNS服务器以及保护的方法
- 收益最高的移动广告聚合平台--KeyMob
- 如何选择一个好的应用进行推广渠道?
- 一个靠谱的移动广告聚合平台--KeyMob
- KeyMob:为国内应用开发者管理的广告聚合平台
- KeyMob移动广告聚合平台提供丰富的广告资源和广告形式
- 开发者应用盈利最佳渠道-KeyMob移动广告聚合平台
- IOS博客项目搭建-10-OAuth02授权封装工具类
- 访问域外的方法
- jetty部署热修改js(解决jetty中热部署js修改不能保存问题)
- 深入理解java内存模型系列文章
- 为什么说JavaScript中的DOM操作很慢
- PHP爬虫:百万级别知乎用户数据爬取与分析
- Burpsuite