小问题,急!小问题,急! for(;p != NULL;p++) //这个有问题,因为,指针指向数组最后一个的下一个时,是野指针,不一定为NULL,应该该为*p!='\0' j++; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先,你最好初始化数组char a[N] = {0};然后,你这里的错误是,那地址和值作比较,自然不相等.应该是 *p != NULL warning C4047: '!=' :'int' differs in levels of indirection from 'void *'有这个警告。 我想 用上null 我相信,这个是可以,但是我想用上NULL. 为什么偏要用NULL呢,不明白。 别说我固执呀,因为 *p != NULL 不占内存空,所以我不想用上*p!='\0' 顺便再问上:NULL 是地址还是值?不好意思我真的很菜。 null 是什么都没有,没有内存地址空间 ,为什么#3的说是地址与值的比较? 呵呵, NULL既可以是地址, 也可以是值.你还可以连NULL也不用for(;*p;p++) 怎么用上for(;*p;p++) 就没警告了,急着等待回复。谢谢各位了。 *p != NULL 等价与 *p != 0 等价于 *p != '\0' (当然中间有类型转化)NULL是指空指针,专门设计用与指针相关的操作,如初始化,判断一个指针是否为空指针等等在C++中,有如下宏定义:define NULL 0,NULL与0是完全等价的;在C语言中,有如下宏定义:#define NULL ((void *)0),因此你编译中有下面的警告:warning C4047: '!=' :'int' differs in levels of indirection from 'void *' 。虽然C/C++中有下面的宏定义,C++中NULL完全可以当0来用,但为了程序的可读性,最好不要写出*p != NULL 这样的代码,P!=NULL,或者*P != '\0',才是良好的编程风格。像FALSE,TRUE与0,1之间是一样的道理 有点懂了,VC++在处理NULL时好像有严格的要求,所以报了警告。在TC中没有警告。再问个“for(;p != NULL;p++) //这个有问题,因为,指针指向数组最后一个的下一个时,是野指针,不一定为NULL”这个我没懂 求助:知网词典的结构是什么样子的? google语音识别问题 vs2008 问题 请教关于vc2005不能运行的一个问题 CDC问题,急!!!!! 快救人那,我要死啦.解决了我给银子啊 这个层叠菜单如何写? CSocket问题 用函数InternatFindNextFile来枚举FTP服务器上的文件是为什么总是找到第一个后就找不到第二个了呢? 采用stack实现计算器混合计算功能,并动态显示分步计算结果的编程思路?给出设计思路及提示者都有分!! 关于WM_COMMAND的wParam CListCtrl的WM_VSCROLL消息问题!!
然后,你这里的错误是,那地址和值作比较,自然不相等.
应该是 *p != NULL
有这个警告。
我想 用上null
不好意思我真的很菜。
为什么#3的说是地址与值的比较?
你还可以连NULL也不用
for(;*p;p++)
急着等待回复。
谢谢各位了。
NULL是指空指针,专门设计用与指针相关的操作,如初始化,判断一个指针是否为空指针等等
在C++中,有如下宏定义:define NULL 0,NULL与0是完全等价的;在C语言中,有如下宏定义:#define NULL ((void *)0),因此你编译中有下面的警告:warning C4047: '!=' :'int' differs in levels of indirection from 'void *' 。虽然C/C++中有下面的宏定义,C++中NULL完全可以当0来用,但为了程序的可读性,最好不要写出*p != NULL 这样的代码,P!=NULL,或者*P != '\0',才是良好的编程风格。像FALSE,TRUE与0,1之间是一样的道理
再问个“for(;p != NULL;p++) //这个有问题,因为,指针指向数组最后一个的下一个时,是野指针,不一定为NULL”
这个我没懂