VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 138|回复: 2

[求助] C语言 字符串变量 和 字符串常量的比较 问题

[复制链接]
85_avatar_middle
在线会员 发表于 2019-4-8 22:01:40 | 显示全部楼层 |阅读模式
3驿站币
C语言  字符串变量  和  字符串常量的比较  问题

u_char ch[]="abc"

if ("abc"==ch)   这个怎么不能相等

ch   代表内存地址值   且占 4字节
"abc"      用了 sizeof("abc")==4  发现也是占4字节
ch  内存值 97 98 99 /0

难道"abc"不是代表内存地址吗??? 不是  97 98 99 /0  吗?

除了不用增加变量来充当常量以外还有有什么好办法解决  常量 与 变量 字符串的 比较问题   ???

最佳答案

查看完整内容

u_char 是个普通的字符数组,"abc" 是个普通的字符串常量,他们都不是类对象,所以都没有重载 == 操作符,所以没办法使用 == 进行判断两个字符串是否相等,能比较也只是两个字符串的地址而已。所以这块要想比较的话直接借助字符串比较函数就可以了,strcmp 之类的




上一篇:C++数据库篇,局域网内电脑A装数据库,其它电脑装程序,该怎么实现都可以增删改查呢?
下一篇:MFC网络路由协议仿真系统疑问
51_avatar_middle
online_admins 发表于 2019-4-8 22:01:41 | 显示全部楼层
u_char 是个普通的字符数组,"abc" 是个普通的字符串常量,他们都不是类对象,所以都没有重载 == 操作符,所以没办法使用 == 进行判断两个字符串是否相等,能比较也只是两个字符串的地址而已。所以这块要想比较的话直接借助字符串比较函数就可以了,strcmp 之类的
85_avatar_middle
ico_lz  楼主| 发表于 2019-4-8 22:40:25 | 显示全部楼层
本帖最后由 tjzoo111 于 2019-4-8 22:46 编辑

明白了    汉字也能比较
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-4-20 21:18

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表