标题:函数指针数组的 出现访问错误
取消只看楼主
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
结帖率:33.33%
已结贴  问题点数:20 回复次数:2 
函数指针数组的 出现访问错误
大神们,如下代码如下图,

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *mystrcat(char *a, char *b)
{
    return strcat(a, b);
}
char *mystrcpy(char *a, char *b)
{
    return strcpy(a, b);
}
char *mystrstr(char *a, char*b)
{
    return strstr(a, b);
}
void main()
{
    char *a = "huawei";
    char *b = "jia you";
   
    char *(*p[3])(a, b) = { mystrcat,mystrcpy,mystrstr};   
   
   
    printf("%s", (p[1])(a,b));
    system("pause");
}

搜索更多相关主题的帖子: char return include 函数 错误 
2019-09-23 12:07
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
得分:0 
如果换成数组形式就可以运行,难道是访问了常量指针a对应的"huawei"的那个地址?
2019-09-23 12:08
niuniuchiniu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2019-8-10
得分:0 
回复 3楼 rjsp
谢谢大神这么认真的码字,谢谢啦,C prime 上也是这么说的.
2019-09-25 11:48



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




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

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