| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 838 人关注过本帖
标题:有关回文的程序出错了帮忙纠正一下!
只看楼主 加入收藏
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:5 
有关回文的程序出错了帮忙纠正一下!
程序代码:
#include<stdio.h>
#include<string.h>

int fun(char* q,int n)
{
    int i,j,flog=0;
    if(0<n<2)
    {
        flog=0;
    }
    else   
    for(i=0;0<=i<(n/2);i++)
    {
        j=n-i-1;
       
        if(q[i]==q[j])
        {
            flog++;
        }       
    }

    return(flog);
}
void main()
{
    int n,i,z;
    char a[100];
    char *p;
    p=a;
    printf("Please input an array:\n");
    gets(p);
    n=strlen(a);
    z=fun(p,n);
   
    if(z==(n/2))
    {
        printf("这是一个回文\n");
    }
    else
        printf("不是一个回文\n");

}

应该是fun函数哪里出错了,但不知道改哪里,求助!

2016-08-23 14:47
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
在线等,高手一眼看穿。
2016-08-23 14:48
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
好心人在哪里哦
2016-08-23 15:02
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
int fun(char* q,int n)
 {
     int i,j,flog=0;
     if(0<n<2)   //这里改成(n>0&&n<2)c中没有(0<n<2)这种表达式,而且n>0略显多余
     {
         flog=0;
     }
     else   
     for(i=0;0<=i<(n/2);i++)   //这里也一样for(i=0;i<(n/2);i++)
     {
         j=n-i-1;
        
         if(q[i]==q[j])
         {
             flog++;
         }      
     }

     return(flog);
 }
2016-08-23 15:21
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 4楼 ehszt
实在是感谢,头晕到现在被你治好了
2016-08-23 15:25
鸿蒙之灵
Rank: 4
来 自:异次元裂缝
等 级:贵宾
威 望:11
帖 子:126
专家分:244
注 册:2016-8-22
收藏
得分:0 
if(0<n<2)  //这里出错了,   <  是双目运算符,不能利用数学公式的方法进行与表达式的结合,像这种情况,应该考虑利用逻辑运算符,辅助完成变量n 和两个常数的比较运算,在告诉你正确的形式之前,先来分析一下你的错误:“<”运算符的结合性是“从左到右”,两个“<”运算符同时出现在一个复合表达式中,因为他们的优先级相同,所以运算的过程如下:首先,计算机会判断  0<n  ,其结果只可能是 0 或 1 ,然后用得到的 0 或 1 来和常数 2 作比较,如此一来,n 的值无论如何变化,最终 if(0<n<2) 这个表达式的值都是:FLASE。

改正:if( 0<n && n<2 )   //分析:&& 运算符的优先级低于 < 运算符,所以先判断 && 两侧的表达式,当两个表达式均为 TURE 时,整个表达式为 TURE ,否则,为 FLASE。

对待编程,要像对待情人一样
2016-08-23 15:40
快速回复:有关回文的程序出错了帮忙纠正一下!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017828 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved