社区
C语言
帖子详情
[探讨]关于if的一个细节问题
wendy_welcom
2007-10-11 02:17:10
在一本书上看到下面的写法是不妥当的(它的理由是文字列的比较不妥当):
strcpy((char *)p, "OK");
if (p == "OK") {
。。。
书中说 应该写成如下格式,
if (strcmp((char *)p, "OK") == 0) {
…
}
请问这是为什么,谢谢
...全文
159
5
打赏
收藏
[探讨]关于if的一个细节问题
在一本书上看到下面的写法是不妥当的(它的理由是文字列的比较不妥当): strcpy((char *)p, "OK"); if (p == "OK") { 。。。 书中说 应该写成如下格式, if (strcmp((char *)p, "OK") == 0) { … } 请问这是为什么,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xljiong
2007-10-11
打赏
举报
回复
楼上的是正解,一定要比较,改成 *p 再比较。
yanhailiangyhl
2007-10-11
打赏
举报
回复
2楼的正确。
当然也要看p原来的类型。如果它重载了操作符==,例如CString,或者_bstr_t就领当别论了!
如果它的类型就是char*,那么p的值就只是一个地址了。
manrenmanren
2007-10-11
打赏
举报
回复
p 是一个指针
"OK"是一个常量字符串
不是指针与"OK"比较 而是指针所指内容与"OK"比较
ckt
2007-10-11
打赏
举报
回复
好像是有的编译器
对于不同的指向 同一常量字符串的 指针
地址是不同的。
strcmp比较的是内容,不是地址,比较安全
rainharder
2007-10-11
打赏
举报
回复
第一个是比较字符串的地址
第二个才是比较字符串的内容
if与else if,else的小
细节
本文
探讨
了图片处理中的逻辑控制
问题
,即使满足第
一个
if语句,后续elseif或else仍可能执行,解析了条件分支的深入
细节
。
php header if-modified-since,php – 了解If-Modified-Since HTTP Header
本文
探讨
了
一个
PHP缓存库中If-Modified-Since头部字段的应用
问题
。介绍了如何通过检查If-Modified-Since头来判断资源是否已修改,并讨论了在实际应用中的实现
细节
。
if没有else c语言,渣渣来求教了,if后面已经打了花括号了 仍提示没有匹配if的else...
这篇博客
探讨
了
一个
用C++编写的BMI(身体质量指数)应用程序,旨在判断用户能否找到女朋友。博主在VS2013中遇到
一个
if-else语句的错误,提示没有匹配的非法else。
问题
在于if语句末尾的分号导致了语法错误。解决方案是删除分号。博客讨论了C++语法
细节
,并提醒开发者注意此类常见错误。
c语言应用程序错误,内存不能为,c语言程序运行
问题
内存不能为written
本文
探讨
了
一个
C语言程序中关于内存不能为written的
问题
,并分析了输入验证和条件判断的
细节
。作者遇到了当输入非偶数时程序报错的情况,同时讨论了如何修改if语句来正确处理结束标志。
多规则排序时根据权值排序
本文
探讨
了
一个
在Lua中实现复杂排序规则时遇到的
问题
,并通过引入权值法成功解决了排序逻辑的混乱,详细解释了从简单if-else判断到权值排序的转变过程及其实现
细节
。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章