2

下面的代码片段用于将字符串转换为小写。

int main()
{
    unsigned char s[] = "AbS.d_";

    tolower(s);
    printf("%s\n", s);

    return 0;
}

我得到的输出为:

AbS.d_

为什么字符串没有被转换?

4

2 回答 2

5

tolower将字符类型作为参数,但您使用字符串。您需要遍历数组,并调用tolower每个字符。

于 2012-08-27T16:04:35.737 回答
5

tolower接受 int 并返回降低的 int。

这应该有效:

int i=0;
for(i=0; s[i]; i++)
{
    s[i]=tolower(s[i]);
}
于 2012-08-27T16:07:55.407 回答