标题:大佬帮忙分析下这个程序,类型转换不是很理解,谢谢各位了!
取消只看楼主
nuoyoyo
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-5-16
结帖率:80%
已结贴  问题点数:20 回复次数:0 
大佬帮忙分析下这个程序,类型转换不是很理解,谢谢各位了!
#include<math.h>
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
void * func(void *str1,void *str2,void * (*p)(void * str3, void *str4))
{
    return (*p)(str1,str2);
}
void * mystrcat(void * str1,void *str2)
{
    strcat(str1,str2);
    return (void *)str1;
}
void * mystrlen(void * str1,void *str2)
{
    int i=strlen(str1);
    return (void *)i;
}
void * mystrcpy(void * str1,void *str2)
{
    strcpy(str1,str2);
    return (void *)str1;
}

void * mystradd(void * str1,void *str2)
{
    int i=(int)str1+(int)str2;
    return (void *)i;
}
int main()
{
    char str1[20]="hello";
    char *str2="world";
    printf("%d\n",(int)func((void *)str1,(void *)str2,mystrlen));
    printf("%s\n",(char *)func((void *)str1,(void *)str2,mystrcat));
    printf("%s\n",(char *)func((void *)str1,(void *)str2,mystrcpy));
    printf("%d\n",(int)func((void *)100,(void *)200,mystradd));
}


[此贴子已经被作者于2018-5-22 10:43编辑过]

搜索更多相关主题的帖子: void return int char printf 
2018-05-22 09:47



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




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

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