以下代码中的两个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[i] -= ('a'-'A' );}char str[] = "aBcDe";cout << "str字符长度为: " << sizeof(str)/sizeof(str[0]) << endl;UpperCase( str );cout << str << endl;
2 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
strlen(char*)函数求的是字符串的实际长度,而sizeof()函数返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen是函数。
- 2 回答
- 0 关注
- 986 浏览
添加回答
举报
0/150
提交
取消