13

单选题 13 /62

以下代码中的两个sizeof用法有问题吗?
void UpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母
{
    for ( size_t i = 0; i < sizeof(str) / sizeof(str[0]); ++i )
        if ( 'a' <= str[i] && str[i] <= 'z' )
            str -= ('a' - 'A' );
}

char str[] = "aBcDe";
cout < < "str字符长度为: " < < sizeof(str) / sizeof(str[0]) < < endl;
UpperCase( str );
cout < < str < < endl;

参考答案

函数内的有问题
函数外的有问题
函数内,外的都有问题
用法正确