首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

运算符优先级有些看不懂,求教

2013-12-13 
运算符优先级有点看不懂,求教!今天看到看书,看到了介绍 指向指针的指针这一节。void scanTo(const char **p

运算符优先级有点看不懂,求教!
今天看到看书,看到了介绍 指向指针的指针  这一节。

      

void scanTo(const char **p,char c)/*这一行为什么传一个*p,应该也一样的效果啊,是不是可以代替**p?*/
                  {
                      while( **p && **p !=c )/*就是这里看不懂了,这是什么条件啊,!=优先级高于&&,也就是说**p && 1或者**p && 0,这怎么算啊?*/
                            ++*p;
}
 
/*具体运行如下所示*/
 char s[]="hell,world!";
const char *cp =s;
scanTo( &cp, ',');/*书上的注释:将cp移动到第一个“,”出现的位置*/

[解决办法]
1就是代表真,0代表假
while( **p && **p !=c ) 等同于 while((**p) && (**p !=c) )
这句话意思是说:利用指针的指针来遍历字符串, 当**p不为空(在这里体现就是不为字符串的结尾)且**p指向的字符串不等于“,”
,那么往后移动一位指向。

热点排行