| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 844 人关注过本帖
标题:小菜求各位大神指教。。。
只看楼主 加入收藏
C语言白痴级
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-11-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:26 
小菜求各位大神指教。。。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
    int panduan(char a1);
    int s;
    char a[20];
    printf("please input 1 string");
    gets(a);
    s=panduan(a);
    printf("%d",s);
    system("pause");
    return 0;
}
int panduan(char a1)
{
    int n,j;
    char b[20];
    n=strlen(a1);
    for(j=0;j<n;j++)
    b[n-j-1]=a1[j];
    if(strcmp(a1,b)==0)  return 1;
    else return 0;
}
我想写一个函数,判断输入的一个字符串是不是回文,是就返回一,不是就返回0,但是老是不对,11 C:\Program Files\DEV-CPP\mingw32\bin\未命名1.cpp invalid conversion from `char*' to `char'
总有这样的句子。。。本来要求用指针,但是我不熟悉,所以先用数组。。。。求解答啊。。。小女子感激不尽。。。
搜索更多相关主题的帖子: please include system return 
2012-12-26 12:40
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
函数定义中,也就是panduan这个函数,里面的形参是个char型字符,可是你调用函数时确把数组的指针传进去了,肯定是要出编译错误的

我了个去的编程!
2012-12-26 12:45
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
int panduan(char a1)
这里函数的参数就是一个char  所说的单个字符
而你需要传入的是一个字符串 是多个字符

DO IT YOURSELF !
2012-12-26 12:47
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
参数类型不匹配

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-26 12:47
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
“字符串是不是回文”,这句话什么意思?你跟我说清楚一点我好思考

思考赐予新生,时间在于定义
2012-12-26 12:52
C语言白痴级
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-11-23
收藏
得分:0 
回复 5楼 love云彩
比如qwewq这样,谢谢
2012-12-26 12:57
C语言白痴级
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-11-23
收藏
得分:0 
#include<stdlib.h>
int main(void)
{
    int fun(char a);
    int t;
    char a[20];
    printf("please input 1 string");
    gets(a);
    t=fun(a);
    printf("%d",t);
    system("pause");
    return 0;
}
int fun(char a[])
{
    int n,j;
    char b[20];
    n=strlen(a);
    for(j=0;j<n;j++)
    b[n-j-1]=a[j];
    if(strcmp(a,b)==0)  return 1;
    else return 0;
}
改了一下,这样还是不行呀。。。
2012-12-26 12:58
C语言白痴级
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-11-23
收藏
得分:0 
回复 3楼 wp231957
我把参数改成了a[],还是  invalid conversion from `char*' to `char'
2012-12-26 13:00
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
我的编译器没有报错啊
图片附件: 游客没有浏览图片的权限,请 登录注册

思考赐予新生,时间在于定义
2012-12-26 13:03
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
以下是引用C语言白痴级在2012-12-26 12:58:33的发言:

#include
int main(void)
{
    int fun(char a);  //这里没改吧
    int t;
    char a[20];
    printf("please input 1 string");
    gets(a);
    t=fun(a);
    printf("%d",t);
    system("pause");
    return 0;
}
int fun(char a[])
{
    int n,j;
    char b[20];
    n=strlen(a);
    for(j=0;j
不要太粗心 了

我了个去的编程!
2012-12-26 13:07
快速回复:小菜求各位大神指教。。。
数据加载中...
 
   



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

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