标题:调用指针 哪里错了
只看楼主
少林小和尚
Rank: 2
等 级:论坛游民
帖 子:57
专家分:26
注 册:2013-3-31
结帖率:73.68%
已结贴  问题点数:3 回复次数:4 
调用指针 哪里错了
#include<stdio.h>
main()
{
    int mystrlen(char *s);         /*函数声明*/
    int c;
    char a[]="abcdefgh";
    char*p;
    p=a;
    printf("%s",a);
    c=int mystrlen(*p);
    printf("%d",c);
}

int mystrlen(char*s)
{
    int x=0;
    for(;*s!='\0';s++)
        x++;
    return x;

}

C:\Users\dell\Desktop\新建文件夹\.c(10) : error C2059: syntax error : 'type'


搜索更多相关主题的帖子: dell 函数 新建文件夹 Desktop return 
2013-05-05 23:41
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
得分:1 
c=int mystrlen(*p);写错了, 应该是这样:
  c=mystrlen(p);或者:
c=mystrlen(a);
2013-05-06 05:39
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
得分:1 
  c=int mystrlen(*p);这里错事肯定的了。。。改成楼上说的就对了

极品菜鸟,来学习啦,啦啦啦啦啦啦啦。。。
2013-05-06 08:10
Ryker
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:145
专家分:420
注 册:2013-2-19
得分:1 
执行到 c=int mystrlen(*p);时, *p == a[0] == 'a'

你把'a'传给一个指针,就是函数定义的那个 *s , 肯定是类型不一致

而且函数调用写的也不对吧..

c = mystrlen(p); 就行了,为什么要写 int ?

[ 本帖最后由 Ryker 于 2013-5-6 08:44 编辑 ]
2013-05-06 08:43
少林小和尚
Rank: 2
等 级:论坛游民
帖 子:57
专家分:26
注 册:2013-3-31
得分:0 
刚学   谢谢了
2013-05-06 23:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406288-1-1.html




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

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