一个基本语法问题,谁能解释一下
vb吧
全部回复
仅看楼主
level 8
tbzp666
楼主
遇到的一个有关数据类型的问题,问一下AI,AI解释的不好,谁能解释一下?
123%表示整型,32768&表示长整型,54.321!表示单精度,123.456#表示双精度,123.456@表示货币型
但是“5+7”$却是无效字符
AI这样解释:$符号用于指定字符串类型,是早期版本中用于隐式声明字符串类型的一种方式,但它有特定的使用场景,并不适用于直接跟在字符串常量后面。
2025年10月09日 07点10分
1
level 15
初音✨七奈
双引号还不够表示这是个字符串么?何必还要加个后缀画蛇添足?
2025年10月09日 11点10分
2
tbzp666
遇到选择题了,我想试试类型说明符的用法
2025年10月09日 13点10分
level 7
tzchf
只需知道“回”字的一种写法
2025年10月09日 23点10分
3
tbzp666
题目就是这样出的,并不是无理取闹
2025年10月09日 23点10分
level 15
初音✨七奈
说起来,楼主你到底想问啥?“AI解释的不好”?我看说得没毛病啊
你难道是看不懂么?跟其他类型符号不同,$这个符号只能用在变量名后面,表示这个变量是个字符串类型的变量;而不能用在字符串值后面,也就是双引号后面不能加$
原因也很简单,数值可以有不同的类型,因此可以在后面加类型符号来限定某个数值到底是什么类型;而字符串就是字符串,不会是其他类型,没必要在后面加符号,加上自然就错了;我上面说的“双引号后面加后缀是画蛇添足”,也就是把这个意思换了个说法而已
2025年10月10日 14点10分
4
tbzp666
也就是1就是1,1不能叫2,这叫规定?!
2025年10月11日 04点10分
初音✨七奈
@tbzp666
你要说是规定,那也没毛病,代码的语法规则确实都是些规定
2025年10月11日 12点10分
klimaa
因为符号是为了显式规定,而双引号已经明确告诉你是字符串了,就没必要画蛇添足了。
2025年10月13日 02点10分
tbzp666
@klimaa
显式声明不是这个么?DIm s as string,这应该是隐式声明
2025年10月13日 07点10分
level 8
tbzp666
楼主
原题
2025年10月13日 11点10分
5
tbzp666
@temp_bd886
只是好奇D的写法为什么不行,所以有开头一问
2025年10月14日 07点10分
tbzp666
@temp_bd886
你没有明白我的意思么?我并不是闲的无聊,来提个这个问题,而是遇到了,从来没有见过这样写,想着是否可以这样写。于是就试试,结果不合规范。
2025年10月14日 09点10分
贴吧用户_GGeStU9
A是类型为字符串的字面常量,B有可能是字符串变量,C是Integer类型的字面常量,D将触发错误:无效字符。$只能放在函数、变量、非字面常量、属性和子过程后面(实际上没用)
2026年02月13日 07点02分
level 7
郑孟华
这是AI的回答。
你观察得很细致,这个问题的核心是 VB 中 “类型声明字符” 的使用规则—— 类型声明字符只能紧跟在 “数值 / 字符串常量本身” 后面,不能加在表达式(如 5+7)末尾,这就导致了 “5+7”$ 无效。
2025年10月15日 01点10分
6
初音✨七奈
这个回答才是瞎扯,"5+7"并不是一个表达式,而是一个字符串常量,这里说类型声明字符能跟在“字符串常量本身”后面,而事实上恰恰是不能
2025年10月15日 12点10分
郑孟华
@初音✨七奈
//tb2.bdstatic.com/tb/editor/images/face/i_f13.png?t=20140803" >回复 #(reply,tb.1.17b4a009.DlcqdMJO-ZLrSVkX7qrCFg,初音✨七奈) :
2025年10月22日 07点10分
1