首页 > 试题广场 >

下列程序段的功能是判断字符串是否对称,对称返回1,不对称返回

[单选题]
下列程序段的功能是判断字符串是否对称,对称返回1,不对称返回0,请将缺失处处缺失程序补充完整。
bool fun(string str) {
    int i=0,j=0;
    j = ____;
    for (j--; i < j && str[i]==str[j]; i++, j--);
    return i <= j;
}


  • i+1
  • i
  • strlen(str)
  • str.size()
strlen是不吃 string类型的,人家吃 const char*,我真是蠢啊
发表于 2019-05-31 13:03:58 回复(9)
strlen()、sizeof()是针对字符的,而length()、size()是针对字符串的
发表于 2019-12-27 09:45:11 回复(4)
发表于 2019-08-14 23:36:07 回复(1)
strlen和str.length()都是求字符串的长度,但strlen( )的参数必须是char*,而 str.length( )是string类对象str调用的成员函数。
发表于 2020-12-25 19:30:40 回复(0)

传入的是string类型,而不是char*类型,直接调用string类的成员函数length()或者size()都行。

发表于 2020-06-07 21:20:39 回复(0)
对于string类型,strlen(const char *)只接受字符串常量,string类型计算长度一般使用size()函数和length()函数
发表于 2019-09-08 11:10:08 回复(0)
最后应该是return i>=j;吧
"IAAI"这种字符串 按题目的算法是返回0的
发表于 2020-09-16 16:35:08 回复(1)
size_t strlen(const char *str),strlen函数的形参是const char*类型,而c++中有string类型,c语言没有string类型,c语言中字符串是通过字符串指针间接实现的,所以说在C语言中求字符串长度可以直接用strlen,但是c++中不能对string类型用,因为类型不匹配,c++string有自己封装的函数size()。
发表于 2022-10-20 09:27:02 回复(0)
strlen()函数是C语言中的标准库函数,用于计算以null结尾的字符数组(C风格字符串)的长度,参数必须是char*类型。
而str.length()是C++中std::string类的成员函数,用于返回字符串的长度,它是string类对象调用的成员函数。因此,虽然它们都用于求字符串的长度,但是在不同的语境下使用,且针对不同类型的数据。

总体来说,C++标准库中的std::string类提供了更多的字符串操作功能,而且更安全、更易用。因此,推荐使用str.length()来获取字符串的长度,特别是在C++项目中。

发表于 2023-11-10 17:17:51 回复(0)
最后的返回应该是return i>=j;
发表于 2023-07-12 12:52:15 回复(1)
碰巧没学过string类,课本只教过我们自己写这个类,哈哈
发表于 2023-06-03 19:13:00 回复(0)
我透!
发表于 2019-09-05 10:08:26 回复(0)
没仔细看形参…
发表于 2019-08-11 22:36:33 回复(0)
我TM不是在做c语言的题吗?你放个c++是觉得我记得的东西还不够多?
发表于 2023-10-08 18:26:33 回复(0)
没人发现这个地方错了吗return i <= j;
应该是return i >= j;
发表于 2023-07-06 20:32:32 回复(0)
strlen()、sizeof()是针对字符的,而length()、size()是针对字符串的
发表于 2022-11-23 20:20:14 回复(0)
c++
发表于 2022-11-11 09:16:48 回复(0)
strlen()、sizeof()是针对字符的,而length()、size()是针对字符串的
发表于 2022-10-08 19:15:23 回复(0)
我他妈是sb,没仔细看str是string类型的。。。吧d选项看成sizeof。。。瞎了
发表于 2022-08-01 07:42:27 回复(0)
strlen()、sizeof()是针对字符的,而length()、size()是针对字符串的
发表于 2022-05-04 14:07:49 回复(0)