用for编写一个程序

qq_33472423 2015-12-22 09:17:32
用for语句编写一个程序,实现输出两行 “中国”
...全文
148 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2015-12-23
  • 打赏
  • 举报
回复
引用 7 楼 sholber 的回复:
声明一下,我的上一个回复不得转载。是我从自己的书上摘录的,你要转载的话,不是朕找你,恐怕闹出格的话出版社会找你。
均陵鼠侠 2015-12-22
  • 打赏
  • 举报
回复
声明一下,我的上一个回复不得转载。是我从自己的书上摘录的,你要转载的话,不是朕找你,恐怕闹出格的话出版社会找你。
均陵鼠侠 2015-12-22
  • 打赏
  • 举报
回复
这个题目并不简单,因为涉及到字符集和字符编码的问题。而且Linux和Windows下的编写规则都不太一样。 以下是一个通用的解决方案:
# include <locale.h>
# include <wchar.h>
# include <wctype.h>

# if defined (PWINDOWS)
#     define LOCSTR ".936"
# elif defined (PLINUX)
#     define LOCSTR "zh_CN.UTF-8"
# else
#     define LOCSTR "C"
# endif // defined

int main (void)
{
    setlocale (LC_ALL, LOCSTR);
    for (int x = 0; x < 2; x ++) wprintf (L"中国\n");
    return 0;
}
宽字符的编码方案和具体使用的是哪个国家的语言文字无关,但是程序的执行和宽字符的具体操作就不能不考虑这些因素。特别是,如果需要一个从宽字符到多字节字符的转换(在本程序中,wprintf函数就执行这种转换),则必须指定多字节字符集(代码页)。为此,程序中就需要调用setlocale函数来设置和区域有关的参数,很多宽字符处理函数的执行都会受这些参数的影响。以下是该函数的原型:
# include <locale.h>
char * setlocale (int category, const char * locale);
该函数的第一个参数用于指定和区域有关的项,LC_ALL表示整个区域的所有项;第二个参数是字符串,其内容取决于C实现,用于选取同第一个参数相对应的值。对于Windows简体中文版的控制台来说,它的活动代码页是936,实际上对应于GBK字符集,所以这个字符串可以是“.936”,但也可以使用“chs”或者“chinese”;对于Linux控制台来说,它使用的是Unicode字符集,采用UTF-8编码方案,因此这个字符串可以是“zh_CN.UTF-8”。 为了使当前程序能够在Windows和Linux上编译,同时又不用修改源程序,这里使用了预处理指令(条件编译指令)。如果已经定义了宏PWINDOWS,则将宏LOCSTR定义为字符串“.936”,如果已经定义了宏PLINUX,则将宏LOCSTR定义为字符串“zh_CN.UTF-8”,如果PWINDOWS和PLINUX都未定义,则将宏LOCSTR定义为字符串“C”,它对应着每个程序启动之后的最小环境。GCC允许使用编译选项-D来预定义一个可以在编译期间使用的宏,因此,假定上述程序的源文件是exam.c,则可以在Linux上用下面的方法转换它:
gcc exam.c –fwide-exec-charset=UTF-32LE –DPLINUX
相对应地,如果是在Windows上,可以使用下面的方法:
gcc exam.c –fwide-exec-charset=UTF-16LE –DPWINDOWS
GGHidezhang 2015-12-22
  • 打赏
  • 举报
回复
你想用什么语言写
qq_33472423 2015-12-22
  • 打赏
  • 举报
回复
我是想用双字符型来表示。
qq_33472423 2015-12-22
  • 打赏
  • 举报
回复
用c++编写
布拉格曼 2015-12-22
  • 打赏
  • 举报
回复
哦,徒手写,没注意看,需要把i<1改成 i<2
布拉格曼 2015-12-22
  • 打赏
  • 举报
回复
。。。楼主刚开始学习编程?请看代码:

#include <stdio.h>

void main(void)
{
    int  i = 0;

    for (i=0; i<1; i++)
    {
        printf("中国\n");
    }
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧