| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 801 人关注过本帖
标题:大佬帮忙分析下这个程序,类型转换不是很理解,谢谢各位了!
取消只看楼主 加入收藏
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
快速回复:大佬帮忙分析下这个程序,类型转换不是很理解,谢谢各位了!
数据加载中...
 
   



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

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