字符数组初始化

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

转载于:https://my.oschina.net/u/2312175/blog/653742

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值