【发布时间】:2019-03-25 16:38:52
【问题描述】:
我正在尝试在我的程序中比较两个字符串,以便我可以按字典顺序排列它们。我不允许像这样声明数组:string arr[10],而是必须像这样声明它:char arr[10][20],其中[10] 表示字符串的数量,[20] 表示每个字符串的大小。
为了比较两个字符串,我尝试使用类似:arr[5]>arr[7],但它不起作用。有什么想法吗?
【问题讨论】:
-
什么是“旧版 C++”? Afaik 从来没有没有
std::string的正式版本。请提供minimal reproducible example。 -
答案是
strcmp(arr[5], arr[7]) > 0 -
OP 已澄清禁止
std::string不是因为不支持std::string- 这是出于教学原因。 -
如果这是 Turbo C++,请添加该标签。然后,char 数组(和指向 char 缓冲区的指针)就是所谓的 C 字符串。使用 C 字符串比较函数进行比较。谷歌“比较 C 中的字符串”之类的。
-
@Sujit 强烈建议:不要使用比你更老的工具。 Turbo C 已经完全过时了。今天有更好的选择。