| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1544 人关注过本帖
标题:打印到屏幕上的结果为什么会乱码?
只看楼主 加入收藏
王黄丽
Rank: 1
等 级:新手上路
帖 子:53
专家分:4
注 册:2018-7-27
结帖率:100%
收藏
 问题点数:0 回复次数:3 
打印到屏幕上的结果为什么会乱码?
#include <stdio.h>

typedef enum {INT, SHORT, CHAR} type;

void print(const void* p_shu_zi,type t) {
    switch(t) {
    case INT:
        printf("%d\n",*(const int*)p_shu_zi);
        break;
    case SHORT:
        printf("%hd\n",*(const short*)p_shu_zi);
        break;
    case CHAR:
        printf("%c\n",*(const char*)p_shu_zi);
        break;
    }
}

int main() {
    int shu_zi = 7;
    char zi_fu = 'A';
    short duan = 17;
    printf(&shu_zi, INT);
    printf(&zi_fu, CHAR);
    printf(&duan, SHORT);
    return 0;
}

--------------------Configuration: 29whl - Win32 Debug--------------------
Compiling...
29whl.c
G:\C语言编程\WHL\29whl\29whl.c(23) : warning C4133: 'function' : incompatible types - from 'int *' to 'const char *'
G:\C语言编程\WHL\29whl\29whl.c(25) : warning C4133: 'function' : incompatible types - from 'short *' to 'const char *'

29whl.obj - 0 error(s), 2 warning(s)


打印的结果:
A烫?Press any key to continue

搜索更多相关主题的帖子: INT SHORT CHAR const printf 
2018-08-01 14:51
王黄丽
Rank: 1
等 级:新手上路
帖 子:53
专家分:4
注 册:2018-7-27
收藏
得分:0 
不兼容应该怎么解决?
2018-08-01 14:53
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
收藏
得分:0 
将主函数中的 printf   改为 print

126邮箱联系方式:no1xijin@126. com
2018-08-01 16:09
不再想起y
Rank: 2
等 级:论坛游民
威 望:1
帖 子:4
专家分:20
注 册:2018-8-4
收藏
得分:0 
#include <stdio.h>

typedef enum {INT, SHORT, CHAR} type;

void print(const void* p_shu_zi,type t) {
    switch(t) {
    case INT:
        printf("%d\n",*(const int*)p_shu_zi);
        break;
    case SHORT:
        printf("%hd\n",*(const short*)p_shu_zi);
        break;
    case CHAR:
        printf("%c\n",*(const char*)p_shu_zi);
        break;
    }
}

int main() {
    int shu_zi = 7;
    char zi_fu = 'A';
    short duan = 17;
    print(&shu_zi, INT);//同楼上所说将printf改为print调用子函数
    print(&zi_fu, CHAR);
    print(&duan, SHORT);
    return 0;
}
2018-08-04 23:49
快速回复:打印到屏幕上的结果为什么会乱码?
数据加载中...
 
   



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

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