作业帮 > 综合 > 作业

#include bool fun(char* str) //请问这个bool函数究竟是怎么实现功能的,为什么看不懂?{

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 18:51:34
#include
bool fun(char* str) //请问这个bool函数究竟是怎么实现功能的,为什么看不懂?
{
int len=0;
for(;str[len] = 0; len ++); //这里的for循环里一开始就是 ;
len--;
for(int i=0; i
//程序应该是判断输入字符串是不是对称
#include <iostream.h>

bool fun(char* str)    //请问这个bool函数究竟是怎么实现功能的,为什么看不懂?
{
    int len=0;
    for(;str[len] != '\0'; len ++); //这是是不是应该这样写
                              //for空循环,直到字符串结束符,最终得到字符串长度
    len--;        //此处是为了减去'\0'占用的一个长度
    for(int i=0; i<len; i++,len--)
    {
        if( str[i] != str[len] )//这个是判断字符串首位对称位置的字符是不是相等
            return 0;        //不相等返回0
    }
    return 1;
}

void main()
{
 char str[1024];
 cout<<"请输入一行文字"<<endl;
 cin.getline(str,1024);
 cout<<fun(str)<<endl;
 return;
}
再问: 非常感谢,我还有一处不明白,就是 for(;str[len] != '\0'; len ++); 是不是可以换成 for(len=0;str[len] != '\0'; len ++); 我不太明白for中直接有; 的意思。
再答: 完全可以,只不过前面一句int len=0;//此处对len定义的同时已经初始化为0所以for里面就不需要重复赋值为0了,如果前面定义未初始化,则for里面最好加上初始条件len=0,否则可能发生错误