A)不可以用赋值语句给字符数组名赋字符串
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++。
如果没有清楚的话,可以给我留言。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-04-10
C是错的 字符数组是用来存放字符串的 它只能存放字符串 A答案中不可以把字符串赋值给字符数组名 因为字符数组名只是字符数组的首地址 它只能存放一个字符
第2个回答 2013-04-10
D因为C是对的
第3个回答 2013-04-09
答案是AD,可以存放字符