C语言选择题 第八题 char *t=s是什么意思? t-s-1 是什么意思
C语言选择题第八题char*t=s是什么意思?t-s-1是什么意思?t和s不是指针吗?怎么可以做减法?...
C语言选择题 第八题 char *t=s是什么意思? t-s-1 是什么意思?t和s不是指针吗?怎么可以做减法?
展开
展开全部
我看答案应该选C
s是一个字符串指针
char *t=s 把字符串指针的首地址赋给t,*t++ 先取值,再进行自增操作,t指向的地址从s一直到字符串的最后一个位置。t每次加的时候按照元素的长度来进行自增操作,由于while的判断多加了一次,故最后循环执行完毕的时候t所指向的位置应该是字符串长度最后一个位置+1。所以t-s-1 刚好是字符串的长度
指针也是一个值,当然可以做加减,t++都可以做,为什么不能做减法呢
t++ 和 t+= 元素所占字节长度 是一个意思
不懂追问
s是一个字符串指针
char *t=s 把字符串指针的首地址赋给t,*t++ 先取值,再进行自增操作,t指向的地址从s一直到字符串的最后一个位置。t每次加的时候按照元素的长度来进行自增操作,由于while的判断多加了一次,故最后循环执行完毕的时候t所指向的位置应该是字符串长度最后一个位置+1。所以t-s-1 刚好是字符串的长度
指针也是一个值,当然可以做加减,t++都可以做,为什么不能做减法呢
t++ 和 t+= 元素所占字节长度 是一个意思
不懂追问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该选C 字符串长度
s始终指向字符串首地址
*t++ *和++是平级运算符 从右往左, 所以t指向地址最后指到字符串最后结束符 \0
如果字符串是5个,那t就指定到第6个地址
因为地址值是连续的,所以t-s-1 得到的就是长度
s始终指向字符串首地址
*t++ *和++是平级运算符 从右往左, 所以t指向地址最后指到字符串最后结束符 \0
如果字符串是5个,那t就指定到第6个地址
因为地址值是连续的,所以t-s-1 得到的就是长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *t = s是是字符指针指向字符串s
追答
那个是计算距离
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t和s是字符指针,存放的是内存的地址值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询