c语言-C语言哪里错了?帮我改改吧

问题描述

C语言哪里错了?帮我改改吧

#include
#include

char s[100];
int panduan()
{
int n=strlen(s);
int i;
for(i=0;i<n/2;i++)
{
if (s[i]!=s[n-i])
return 0;
}
return 1;
}
void main()
{
scanf("%s",&s);
if (panduan())
printf("yes");
else
printf("no");
}

解决方案

 #include <stdio.h>
#include <string.h>

char s[100];
int panduan()
{
    int n=strlen(s);
    int i;
    for(i=0;i<n/2;i++)
    {
        if (s[i]!=s[n-i-1]) //修改
            return 0;
    }
    return 1;
}
void main()
{
scanf("%s",&s);
if (panduan())
printf("yes");
else
printf("no");
}

解决方案二:

s 为数组 取数组地址相当于数组指针,二scanf的第二个参数需要的是指针,数组名字就是首地址,所以scanf改成sanf(“%s”,s);就可以了。

解决方案三:

s 为数组 取数组地址相当于数组指针,二scanf的第二个参数需要的是指针,数组名字就是首地址,所以scanf改成sanf(“%s”,s);就可以了。

解决方案四:

对数组名取地址,其实还是数组名!这个没有错的。

if (s[i]!=s[n-i]) 当 i 等于 零 时,对于数组来说已经越界了。所以,需要注意!

解决方案五:

综合楼上两位即可:

 #include <stdio.h>
#include <string.h>
char s[100];
int panduan()
{
    int n=strlen(s);
    int i;
    for(i=0;i<n/2;i++)
    {
        if (s[i]!=s[n-i-1])//修改
            return 0;
    }
    return 1;
}
void main()
{
    scanf("%s",s);//修改
    if (panduan())
        printf("yes");
    else
        printf("no");
}

解决方案六:

scanf("%s",&s); 改为 scanf("%s",s);

时间: 2024-09-17 04:20:50

c语言-C语言哪里错了?帮我改改吧的相关文章

设计-C语言编程实现FFT,帮帮忙吧

问题描述 C语言编程实现FFT,帮帮忙吧 课题要求: 利用C实现FFT,本程序旨在训练基本编程能力.本设计需按照以下要求进行: (1).?C语言编程产生时域离散信号: (2).?编制基2时域抽取FFT算法.基2频域抽取FFT算法: (3).?对离散信号进行FFT变换,进行频谱分析并和Matlab频谱分析对比: 解决方案 参考:http://wenku.baidu.com/link?url=hZqdMY5CfSTvri7UdSc26d7WREtXm1M40jV21UytswuGJsjMJuIKgE

新人问一个c语言问题,拜托各位帮我解释一下

问题描述 新人问一个c语言问题,拜托各位帮我解释一下 要求找出一个x,使其除以5余1,除以6余5,除以7余4,除以11余10我写的代码int main(){ int x=0; do{ x++; }while(x%5!=1&&x%6!=5&&x%7!=4&&x%11!=10); printf(""%d""x); return 0; }问题出现在while括号里面条件,参考答案是while(!(x%5==1&&am

c++-觉得你c语言或者数学厉害的 帮个忙

问题描述 觉得你c语言或者数学厉害的 帮个忙 图片中最后两个 求方差和高于平均的人数,不保存原始数据 要怎么做... 解决方案 仔细看题目.最后两个就属于"必须借助数组"的情况啊. 解决方案二: 方差跟平均数应该一定要吧,总不会一个个加吧 解决方案三: 这个思考题就是这样的:有些不需要借助数组存储,有些是需要的呀. 解决方案四: "哪两个数最接近""统计不超过平均数的个数""求方差" 需要用到数组,其他不需要用到数组就可以 统

win7如何更改语言 电脑语言改成英文的方法

今年evad3rs团队发布的iOS 7完美越狱工具有些特殊,中国版iOS7完美越狱工具中,捆绑有太极助手插件,此插件类似流氓插件,容易导致iOS越狱设备出现白苹果现象(国外版无此插件).目前比较好的解决办法是:在使用电脑中越狱的时候,将电脑语言改为英文,可绕过该插件.但很多电脑小白用户还不知道如何更改电脑语言,因此本文将为大家详细介绍下电脑语言更改教程. 如何更改电脑语言 电脑语言改为英文方法 以下笔者以Windows 7系统截图演示,教大家如何更改电脑语言.其他XP或者Win8系统设置方法与此

c语言-C语言递归的内存释放问题

问题描述 C语言递归的内存释放问题 我用C语言实现alpha-beta极小极大算法来做一个棋类游戏的AI,博弈树是用递归的方式构造的,然后发现AI每下一步程序的内存都在增大,原来是因为递归没有释放内存. 耗内存的指针是棋盘 char ** chessboard; 于是我在递归函数的每一个return之前都把 chessboard 给释放了,发现内存还是一直在涨,求解.. 解决方案 把递归函数实现贴出来. 解决方案二: 估计释放的不全.二级指针要分两级释放. 解决方案三: 二级指针的释放是要分两步

安卓app多语言多语言切换

问题描述 安卓app多语言多语言切换 请问大神们可以帮助我吗?在我的程序里面我想实现多语言切换,调用系统的语言设置, 改变我自己的app语言,但是不改变系统的显示语言,这样怎么实现? 解决方案 http://blog.csdn.net/forrey/article/details/44547813 去这里看看说不定对你有帮助! 解决方案二: http://my.oschina.net/jack1900/blog/290694http://blog.csdn.net/cento123/articl

c语言-C语言实现文件合并的问题

问题描述 C语言实现文件合并的问题 之前已经编写了一个程序,可以实现.txt的文件内容追加写,可是对两个视频操作的时候就行不通了.但是又不知道问题出现在哪里,视频能合并,文件大小是两个文件的和,可是新和成的文件内容只显示一个文件的内容.这个要怎么解决. 解决方案 视频文件不是简单两个文件叠加.视频文件包含复杂的结构,文件头部分指定了这个视频的格式,有多少帧,存储的偏移地址是什么你简单合并两个文件,播放器只知道根据第一个文件的文件头找数据,附加在后面的第二个文件是读不到的.你需要重新编码得到一个完

c语言-C语言的文件问题????????

问题描述 C语言的文件问题???????? 我如果想往C的文件里写入数据,我要事先手动建立一个.txt文件吗?还是有其他方法自动创建? 解决方案 O(NlgK)问题优先队列实现文件C语言C语言中头文件相互包含问题c语言中,文件路径读取问题 解决方案二: 不用手动建立文件的,c语言里有很多文件操作函数,可以自动建立文件,并可以写入你想写入的数据 解决方案三: 我也想提这样的问题.不过既然是C的文件,我觉得应该是创建.C文件吧,.TXT是文本格式的,估计是不行的. 解决方案四: c语言中可以通过代码

数据-这段代码哪里错呀,帮我改改可好,谢谢啦

问题描述 这段代码哪里错呀,帮我改改可好,谢谢啦 #include"stdio.h" struct STUDENT { char id[3]; char name[10]; int score[5]; double ave; }stu[10]; void main() { int num=10,i,j,all=0; for(i=0;i<num;i++) { printf(" 请输入第%d学生的数据:",i+1); printf(" 学号: "