19.
\t,\\,\\,\n这几个是转义字符,算一个字符,一共4个。
Name为4个
Address为7个
所以是4+4+7=15个。
我用strlen算了下,答案也为15。
20.
指针存的是内存的地址值, 假如两个指针, 一个指向0x80008000, 一个指向0x80008020;
A: 可以判断这两个指针哪个指向后面, 哪个指向前面.
B: 判断两个指针是否指向同一块内存地址
C: 指向相加, 那么大个数代表什么? 可能都越界了内存区域.
D: 相减得到两个指针的差值. 即他们之间相差多少.
比如总共有100个房间,甲住在67号,乙住在80号,通过比较运算可以知道他们离的有多远,但如果用67+80得到的是什么?主要是两个指针相加会变成不定指针,没有任何意义,而且很容易超出内存范围。
19.字符串s由制表符\t、转义后的反斜杠\、单词Name、转义后的反斜杠\、单词Address、换行符\n组成,统计上述字符共15个。
20.A和B就不谈了。两个指针变量可以相减,如一个数组或队列中,指针p指向头部,指针q指向尾部,则q-p+1就是数组或队列的长度。实际中这样的运算非常普遍。而两个指针相加则一般没有意义。