← TCL中文教程

推荐答案 测试一下

5.1string compare ?-nocase? ?-length int? string1 string2 25

5.1string compare ?
问答题 中等 笔试真题问答题

参考答案

该题目考察 Tcl 语言中 `string compare` 命令的用法及其可选参数。命令格式为:`string compare ?-nocase? ?-length int? string1 string2`,其中 `-nocase` 表示忽略大小写(即比较时 'A' 与 'a' 视为相等),`-length int` 指定只比较两个字符串的前 `int` 个字符(若字符串实际长度小于指定长度,则比较到较短字符串结束)。命令返回一个整数值:若 string1 按字典序小于 string2 则返回 -1;相等返回 0;大于返回 1。 易错点:1. `-nocase` 仅影响字母的大小写,不影响数字或符号;2. `-length` 参数必须是正整数,且仅比较前 N 个字符,超出部分忽略;3. 若 `-length` 未指定,则比较整个字符串;4. 返回值是 -1/0/1,而非布尔值。 示例:`string compare -nocase -length 2 "abc" "ABd"`,由于忽略大小写且只比较前 2 个字符(即 "ab" 与 "AB",忽略大小写后相等),返回 0。而 `string compare -length 2 "abc" "abd"`,比较前 2 个字符 "ab" 与 "ab",返回 0;若比较 "abc" 与 "abd",则第 3 个字符 'c' < 'd',返回 -1。 注意:题目中出现的“25”可能表示 `-length` 参数值为 25,即只比较前 25 个字符,或为笔误。实际考试中应确认格式,避免遗漏参数。

涉及知识点

  • Tcl string compare 命令语法
  • -nocase 选项的忽略大小写规则
  • -length 选项限制比较字符数
  • 字典序比较与返回值 -1/0/1
  • 字符串长度不足时的处理
  • 易错点:参数顺序与布尔值混淆
← 上一题
登录后反馈错题
下一题 →