为了账号安全,请及时绑定邮箱和手机立即绑定

如下图,关于vb中InStr函数的一个小问题

如下图,关于vb中InStr函数的一个小问题

米脂 2022-03-10 20:07:57
InStr函数语法如下:InStr([start, ]string1, string2[, compare])在该函数的返回值中有这么一项:如果start > string2 ,那么该函数返回0问题:就是start参数是数值表达式,那么应该是一个数值,而string2参数是一个字符串表达式,它们俩可以进行比较吗?返回0的意义是什么呢?求高手指导,拜托啦!谢谢大家的回答,我是在MSDN上看到这个说法的,截图如下:难道是微软印错了?版本是MSDN6.0
查看完整描述

2 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

是你自己理解错了!从来就没有start > string2的说法!只有说如果start大于String1的长度就返回0。这个其实也很容易理解:如果一个字符串的长度是10,但查找的起始位置却大于10,那肯定是找不到任何东西的啦!
返回0就表示没有找到的意思,你的程序中只要判断返回值是否为0就可以判断String2是否包含在String1中。

查看完整回答
反对 回复 2022-03-15
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

InStr 函数是指定一个字符串在另一个字符串中最先出现的位置。
语法:InStr([start,]string1,string2[,compare])
其中:start:可选参数,数字,设置搜索的起点,如果省略,从第一个字符开始搜索。
string1:必要参数,被搜索的字符串。
string2:必要参数,需要搜索的字符串。
compare:可选参数。
compare的参数设置:-1:
0:二进制比较
1:执行原文的比较
2:在Access数据库中执行比较。
例如:A=InStr(2,"ABCDEFG","E"),返回值:5
你的问题是没有高清楚 start 是设置搜索的起点,如果 start > Len(string2),那么返回值是0,而不是 start > string2 因为一个是数字,一个是字符串,比较式不成立!!!!



查看完整回答
反对 回复 2022-03-15
  • 2 回答
  • 0 关注
  • 443 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号