检查字母是否在C中的另一个字母之前或之后

时间:2016-10-07 03:14:25

标签: c

我想检查一个字符串的第一个字母是在字母表中的字母t之前还是之后。

例如,用户输入" Brad"它会打印

"Your name starts with a letter that comes before "t"."

那种东西。

2 个答案:

答案 0 :(得分:1)

如果你的字符串是:

char str[10] = "Brad"

你可以比较:

if (str[0]) < 't') {
    ...

如果&#39; B&#39;将评估为1(true)是在角色面前。在ASCII字符集中。请注意,此比较区分大小写,因此您希望将要比较的字符转换为相同的大小写以使其有意义。您可以使用toupper()库中的tolower()ctype.h函数来完成此操作。 C将char视为整数类型,因此您可以使用它们执行数学运算。

关于C的大多数介绍性文本都以同样的方式解决了这个问题,但是正如@Olaf指出的那样,标准并不能保证哪些值代表特定的字符。因此,当关注可移植性时,您需要更加小心。也就是说,大多数系统使用ASCII或UTF-8,它是ASCII的超集(它们对于前128个字符是相同的),使这个简单的解决方案成为合理的起点。

答案 1 :(得分:0)

如下所示(添加检查为null以及第一个字符是否为t本身等)。

string