| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1775 人关注过本帖
标题:为何不能输出中文?
只看楼主 加入收藏
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:5 
为何不能输出中文?
看到一个求助帖子(代码如下),我试了一下,编译没有问题,就是没有输出,请教该如何处理,谢谢!

程序代码:
#include<stdio.h>

int main()
{
    int myyear,tiangan,dizhi,shengxiao;

    wchar_t tiangan_list[21] = {'','','','''','','','','',''},*p1[21];
    wchar_t dizhi_list[25] = {'','','','''','','','','','','',''},*p2[25];
    wchar_t shengxiao_list[25] = {'','','','''','','','','','','',''},*p3[25];
    *p1 = tiangan_list;
    *p2 = dizhi_list;
    *p3 = shengxiao_list;

    scanf("%d",&myyear);     // 输入你生日的年份
    tiangan = myyear % 10;
    dizhi = myyear % 12;
    shengxiao = (myyear % 12);
    printf("%d 这一年的干支是:%c%c",myyear,*(*p1 + tiangan),*(*p2 + dizhi));
    printf("生肖是属 %c\n",*(*p3 + shengxiao));
}


[此贴子已经被作者于2020-10-12 13:53编辑过]

搜索更多相关主题的帖子: printf scanf 中文 int 输出 
2020-10-12 13:51
好烦、
Rank: 2
等 级:论坛游民
帖 子:78
专家分:72
注 册:2020-10-10
收藏
得分:0 
为什么我把你的代码复制过去就不行呢?
2020-10-12 15:31
好烦、
Rank: 2
等 级:论坛游民
帖 子:78
专家分:72
注 册:2020-10-10
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

你这一行是什么东西
2020-10-12 15:33
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main( void )
{
    const wchar_t tiangan_list[]   = {L'',L'',L'',L'',L'',L'',L'',L'',L'',L''};
    const wchar_t dizhi_list[]     = {L'',L'',L'',L'',L'',L'',L'',L'',L'',L'',L'',L''};
    const wchar_t shengxiao_list[] = {L'',L'',L'',L'',L'',L'',L'',L'',L'',L'',L'',L''};

    unsigned year;
    scanf( "%u", &year );

    setlocale( LC_CTYPE, "" ); // ------ 仅适用于 简体中文的windows系统 且 ……
    wprintf( L"%u 这一年的干支是:%lc%lc\n", year, tiangan_list[year%10], dizhi_list[year%12] );
    wprintf( L"生肖是属 %lc\n", shengxiao_list[year%12] );
}


[此贴子已经被作者于2020-10-12 16:13编辑过]

2020-10-12 15:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:20 
这个更好一些

程序代码:
#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main( void )
{
    const wchar_t* tiangan_list   = L"庚辛壬癸甲乙丙丁戊己";
    const wchar_t* dizhi_list     = L"申酉戌亥子丑寅卯辰巳午未";
    const wchar_t* shengxiao_list = L"猴鸡狗猪鼠牛虎兔龙蛇马羊";

    unsigned year;
    scanf( "%u", &year );

    setlocale( LC_CTYPE, "" );
    printf( "%u 这一年的干支是:%lc%lc\n", year, tiangan_list[year%10], dizhi_list[year%12] );
    printf( "生肖是属 %lc\n", shengxiao_list[year%12] );
}
2020-10-12 15:43
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:0 
谢谢!
2020-10-13 00:31
快速回复:为何不能输出中文?
数据加载中...
 
   



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

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