A. 数据结构(C语言)中字符串的问题
空格串表示字符串里面的元素是“空格”
空格是确确实实存在的字符 只是不能显示的打印在屏幕上而已
在ASCII码中空格对应的是32(十进制 十六进制是20h)与别的字符对待是相同的
而空串则是表示字符串为空 即"" 也就是字符串中不含任何字符 字符长度为0
一般用作对新定义的字符串进行初始化
他们的区别还是蛮大的 不过有一个概念叫空字符到比较容易混淆
空字符是‘\0’他是确实存在的字符 在字符数组中表示字符串的结束
B. C语言中,空串一定比空格开头的字符串小
1、空串的值为"\0"即在计算机asc值为:0
空格开头的字符的asc值为:32
所以空格大于空串;
2、不能用关系运算符在C语言中对字符串进行比较,但你可以用strcmp()函数对两个字符串进行比较。
你问的是字符比较,如果字符可以用关系运算符进行比较,因为在C语言中,字符比较是按asc值进行比较的,所以实际上是整数进行比较。
C. C语言中NULL是什么意思
在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值。对于字符串的结尾,使用'\0',它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值。
拓展资料:
关于NULL的使用
编程工作中有一类比较容易犯的错误--指针地址未进行正确的更新赋值就加以使用,这往往会造成很严重的后果(对内存区进行错误的涂抹)。所以一个良好的习惯是,当一个指针的工作稍事休息,先把它赋值为NULL,待到再度使用时,重新对其赋值以及进行指针类型转化。
前面说到"NULL指针无法再进行任何数据访问",其实是视编译器功能而定的。0位置指向的是程序起始,对于不同的编译器,NULL指针的操作结果是不同的:有些是不准读写,有些是只读,甚至读写都允许。编译器是人定的。
D. C语言怎么表示空串
空串怎么表示我可以说,但是你的程序错误太多了,你慢慢修改:)
空串应该用一对引号,中间不加空格来表示。但是C语言程序里面,除了变量定义时候以外,不能把字符串赋值给变量的,需要使用strcpy函数。不过要把变量赋值为空串,可以直接给串的第一个字符赋予'\0',例如:h.num[0]='\0';
你的程序就是这行的前面两行,那个for应该是if,否则你的else不匹配,还要出错。
E. C语言中什么是空字符,它的作用是什么
空字符是指‘\0’,或者是字符的编码值为0的字符。
C的字符串存储时通常以空字符结束,该字符的存在意味着数组的单元数必须至少比要存储字符数多1。
与之对应的是空白字符:空白字符是指在屏幕上不会显示出来的字符(如:空格、制表符tab、回车换行等)