c++-C++指针(为什么while条件中*cp正确,cp就出错,二者的区别!虚心请教!谢谢!)

问题描述

C++指针(为什么while条件中*cp正确,cp就出错,二者的区别!虚心请教!谢谢!)
#include
using namespace std;
void main()
{

const char *cp=""hello!"";int cnt=0;while(cp){    ++cnt;++cp;    cout<<cnt<<endl;    cout<<*cp<<endl;    cout<<(*cp)<<endl;}

}

解决方案

在定义变量以外地方,指针变量前加*,代表的是该指针所指向的储存单元内储存的内容,不加*,则代表该指针所指向的储存单元的编号.

解决方案二:
由主函数内第一行代码知cp 是指向字符串的指针,cp的值为它所指向变量的地址,一般不为零,while(cp)会导致死循环;而while (*cp)是指判断字符串是否为空和已经到达字符串末尾,*cp指字符串中某位的值~

解决方案三:
CP一个指针变量,里面装的是*CP对象的内存地址,怎么能作为循环判断条件

解决方案四:
while(cp)
cp的值不为0就会一直循环

while(*cp)
*cp的值为字符串末尾时为''ASII码值为0,就会停止循环。

解决方案五:
楼主的 cp 值肯定永远不会为 0 一直执行 ++操作,很快就会发生非法的内存操作鸟

解决方案六:
while(cp)应为while(*cp)。
另外不知道你要实现的功能是不是输出字符串的每个字符,是的话 ++cp; 应在输出后进行,即放在
cout<<(*cp)<<endl;
后面。

时间: 2024-11-08 19:00:31

c++-C++指针(为什么while条件中*cp正确,cp就出错,二者的区别!虚心请教!谢谢!)的相关文章

servlet-在jsp中,requestscope和pagecontext.request有什么区别?

问题描述 在jsp中,requestscope和pagecontext.request有什么区别? 请教各位,从servlet转到jsp页面,如果request域对象中存在参数,在jsp页面为何pagecontext.request.getparameter("...")获取不到? 解决方案 你试试看pageContext.getRequest().getAttribute("name")能不能, pageContext 对象的作用是取得任何范围的参数,通过它可以获

函数指针和数组指针的区别,函数指针在结构体中怎么实现排序?

问题描述 函数指针和数组指针的区别,函数指针在结构体中怎么实现排序? 求咨询下,结构体浮点数组的排序,多重条件用函数指针传参数给库函数怎么实现排序呢? 解决方案 参考:http://blog.csdn.net/lethic/article/details/7781203 解决方案二: 函数指针及结构体 解决方案三: 函数指针:指向函数入口的指针,为指向代码段的一个地址. 数组指针:指向数组的指针.

请教各位高手双色球的过滤条件中的匹配条件咋用java编写?

问题描述 请教各位高手双色球的过滤条件中的匹配条件咋用java编写? # 请教各位高手双色球的过滤条件中的匹配条件咋用java编写? 解决方案 这个不是过滤条件,谢谢你了 解决方案二: http://wenku.baidu.com/link?url=5v2AEp41c99sFSK5MQrGttwdjsLcGXb3mg7yBirtl3J4ynjLWys6fODKwAHBfzxhqtotUddlvR726ysai9iLEfKrRjMPaFK4bV8ddeC03q_ 解决方案三: http://www

c++-数组的指针怎么访问数组中的元素求大神帮忙

问题描述 数组的指针怎么访问数组中的元素求大神帮忙 所有需要的文件均已包含 using arry=int[5]: arry* chen() [ Int j=0,i,a[5]: While(cin>>i) {if(j==5) Break: a[j]=i: ++j: } return &a: ] Int main() {Int (*b)[5]: b=chen(): for(int i=0:i<5:i++) cout<<(*b)[i]<<endl: } 解决方案

ThinkPHP Where 条件中使用表达式

原文:ThinkPHP Where 条件中使用表达式 Where 条件表达式格式为: $map['字段名'] = array('表达式', '操作条件'); 其中 $map 是一个普通的数组变量,可以根据自己需求而命名.上述格式中的表达式实际是运算符的意义: TP运算符 SQL运算符 例子 实际查询条件 eq = $map['id'] = array('eq',100); 等效于:$map['id'] = 100; neq != $map['id'] = array('neq',100); id

java算法-请使用java去实现SQL的order by和group by,多个条件中可以为空值

问题描述 请使用java去实现SQL的order by和group by,多个条件中可以为空值 select * from user order by userid,name 在程序中就是user对象userid.name属性,我需要通过这两个属性排序 select sum(age) from user group by userdep; 同样在程序中存在这user bean里面有userdep这属性,根据算法分组获取每个部门的成员总和

C++指针变量在PHP中怎么表示?

问题描述 C++指针变量在PHP中怎么表示? 3) int rf_get_status(HANDLE icdev,unsigned char *_Status); 功 能: 获取读写器的版本号. 参 数: icdev: rf_init()返回的设备描述符 _Status: 返回读写器版本信息,长度为18字节 返 回: =0: 成功 <>0: 失败 例: int st; unsigned char status[19]; st=rf_get_status(icdev,status); 解决方案

都说委托是指针,那么委托能代替指针么?C#中委托和指针的关系是什么

问题描述 都说委托是指针,那么委托能代替指针么?C#中委托和指针的关系是什么 都说委托是指针,那么委托能代替指针么?C#中委托和指针的关系是什么 解决方案 委托是委托,指针是指针,没有什么联系.委托代表一种类型,这种类型表示一个方法. "要是没有委托,把函数当做形参就实现不了",这是不对的.java没有委托,也可以传函数,用的是接口. 解决方案二: 委托是类型安全的方法引用一般情况下,我们用的都是对某一个对象的引用,而委托则是对对象中某一个方法的引用.其实可以把委 托理解成一个指针,调

select-求大神指导如何把查询条件中的 “年” “月”设置成当前年,当前月

问题描述 求大神指导如何把查询条件中的 "年" "月"设置成当前年,当前月 求大神指导如何把查询条件中的 "年" "月"设置成当前年,当前月.求大神在代码上直接改 跪求 private int qiKanNian; private int qiKanYue; public String getList() throws Exception { wenDaBiaoList = dao.getList(biaoTi,qiKanNi