文档章节

字符数组初始化

 野渡书生
发布于 2016/04/06 16:57
字数 352
阅读 17
收藏 0

Q:不能把字符串"HELLO!"赋给数组b的语句是(B)

    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值。

© 著作权归作者所有

上一篇: 野指针产生
粉丝 9
博文 217
码字总数 158821
作品 0
南京
私信 提问
C语言字符串指针和字符数组的区别

用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题: 1. 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在...

psaux0
2014/04/25
1
0
C语言数组讲解(二)

谨记 一个人的潜力有多大、能力有多强,是一个未知数,因为我相信能力就是干出来的,以前读过一本书《能力就是干出来的》,这本书就讲述了化保力人生最艰难和辉煌的那段时间,一个农村家境非...

长风留言
2017/11/08
0
0
VC++下一个看似简单实则很有“内涵”的C/C++字符数组初始化问题

学过C/C++的亲想必也知道,C类型字符数组(数组存储的字符串)初始化问题在谭浩强(其实我真不想说此人……)那本“万年不烂”的C语言入门书籍上是这样给予说明的 char c[] = "hello world"; 或者...

WangRichard
2014/03/25
1K
2
字符串指针与字符数组的区别

本文转自 CSDN 博客http://blog.csdn.net/okliujieko/article/details/6821321, 代码部分略作修改,从C++ 转成 C;修改了原文中的错别字 用字符数组和字符指针变量都可实现字符串的存储和运算...

u011303443
2017/03/18
0
0
为什么memset函数不能初始化int函数

memset函数是以字节为单位赋值的,int是四个字节,所以给int初始化还用memset就会出错,看下实验吧 首先,下边这个是给字符型数组赋值,因为字符型数组每个元素都占一字节,所以可以争取的输...

一个不会写程序的计算机渣渣
2018/08/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【在 Nervos CKB 上做开发】Nervos CKB 脚本编程简介[3]:自定义代币

原文作者:Xuejie 原文链接:https://xuejie.space/2019_09_06_introduction_to_ckb_script_programming_udt/ Nervos CKB 脚本编程简介[3]:自定义代币 CKB 的 Cell 模型和 VM 支持许多新的用...

NervosCommunity
54分钟前
5
0
通过OAuth2.0 获取授权访问SF 用户数据

通过OAuth2.0 获取授权访问SF 用户数据 OAuth2.0 相关知识 深入了解 Salesforce 中的 OAuth 2.0(SF官方) OAuth 2.0 的一个简单解释(阮一峰大神) OAuth 2.0 的四种方式(阮一峰大神) GitHub OA...

在山的那边
59分钟前
7
0
编写程序:从键盘上接受一个三位数(首先要确保是三位数),计算出各位之和输出。

#include<stdio.h> int main() { int a,sum=0; printf("请输入一个三位数:\n"); scanf("%d",&a); sum=a/100+a%100/10+a%10; printf("这三个数的和:%d",sum); return 0; }......

201905021729吴建森
今天
7
0
如何离开/退出/停用Python virtualenv

我正在使用virtualenv和virtualenvwrapper。 我可以使用workon命令在virtualenv之间切换。 me@mymachine:~$ workon env1(env1)me@mymachine:~$ workon env2(env2)me@mymachine:~$ workon e......

技术盛宴
今天
7
0
成长之路 万事坚持难

任何事情开了头,想要更好的发展下去,不忘初心,就一定要坚持下去。 以前自己坚持了一些事情,比如早睡不吃东西,由于中途断了,没有及时止损,导致又接着恶习断了几天。所以 及时的反省和调...

T型人才追梦者
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部