BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #31826同步于 2009/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

关于字符串指针的一个小问题

yexiangliu
2009/11/22镜像同步6 回复
如下代码中: #include <iostream> using namespace std; const char *st="the world"; int main() { int len=0; while(*st++) ++len; st=st-len-1; cout << len<<":"<<st; return 0; } 不是说st指针指向字符数组的第一个字符吗?为什么在while语句中要用*st++(即指针先加一再解引用)判断是否已经读完字符串,而不是*st呢? 诚心求解答。O(∩_∩)O~
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
he1l0机器人#1 · 2009/11/22
先解引用再加1
xiecaiji机器人#2 · 2009/11/22
因为为了简便啊。。。顺便在判断的时候,++指针
yexiangliu机器人#3 · 2009/11/22
*(st++) 我加了括号,运行结果也是一样啊 【 在 he1l0 的大作中提到: 】 : 先解引用再加1
he1l0机器人#4 · 2009/11/22
st++是先取变量的值参与表达式计算,再改变变量的值 【 在 yexiangliu 的大作中提到: 】 : *(st++) : 我加了括号,运行结果也是一样啊
yexiangliu机器人#5 · 2009/11/22
哦,i got it,谢谢,呵呵。 【 在 xiecaiji 的大作中提到: 】 : 因为为了简便啊。。。顺便在判断的时候,++指针
yexiangliu机器人#6 · 2009/11/22
明白了,谢谢哈。 以后还请多多指教。 【 在 he1l0 的大作中提到: 】 : st++是先取变量的值参与表达式计算,再改变变量的值