c语言,望高手求解(31)下面是有关C语言字符数组的描述,其中错误的是
A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串为什么???...
A)不可以用赋值语句给字符数组名赋字符串
B)可以用输入语句把字符串整体输入给字符数组
C)字符数组中的内容不一定是字符串
D)字符数组只能存放字符串
为什么??? 展开
B)可以用输入语句把字符串整体输入给字符数组
C)字符数组中的内容不一定是字符串
D)字符数组只能存放字符串
为什么??? 展开
展开全部
这道题是选D,
因为每个字符都可以用整数来表示,最常用的就是ASCII码,我们知道char其实是byte类型,也就是1个字节(2^8即0-256之间的数字),就是说它可以存0-256之间的所有整数所以不只是字符,当然ASCII码也在0-256之间。。
另外,我们还可以通过内存拷贝的方式把整数赋值给字符数组:
int number = 9956;
char str[4];
memcpy((void*)&str, (void*)&a, 4); // 把number变量拷贝4字节数据到str变量。
其实任何语言都有基础类型,而所有的基础类型都是基于字节(byte)来存储的,这个类型能存储什么东西完全取决于它所占用的字节数。
A的说法是正确的,在C语言里面赋值语句不能直接给字符数组赋值,因为C语言的功能还比较单一,只能两个单一的变量赋值,不支持数组赋值。
C语言使用起来有很多不方便之处,所以就有了C++。
如果没有清楚的话,可以给我留言。
因为每个字符都可以用整数来表示,最常用的就是ASCII码,我们知道char其实是byte类型,也就是1个字节(2^8即0-256之间的数字),就是说它可以存0-256之间的所有整数所以不只是字符,当然ASCII码也在0-256之间。。
另外,我们还可以通过内存拷贝的方式把整数赋值给字符数组:
int number = 9956;
char str[4];
memcpy((void*)&str, (void*)&a, 4); // 把number变量拷贝4字节数据到str变量。
其实任何语言都有基础类型,而所有的基础类型都是基于字节(byte)来存储的,这个类型能存储什么东西完全取决于它所占用的字节数。
A的说法是正确的,在C语言里面赋值语句不能直接给字符数组赋值,因为C语言的功能还比较单一,只能两个单一的变量赋值,不支持数组赋值。
C语言使用起来有很多不方便之处,所以就有了C++。
如果没有清楚的话,可以给我留言。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询