【问题标题】:Add smiley face in c在c中添加笑脸
【发布时间】:2016-04-05 08:30:51
【问题描述】:

我正在尝试使用 C 打印笑脸。我的程序是

#include <stdio.h>

int main()
{
    int x;
    char i=1;
    for(x=1;x<=800;x++) 
    {
        printf(" %c ", i); 
        if(x==800)
        printf("\n"); 
        if(x==800)
        break;

    }
}

我正在使用 Ubuntu 终端。它在Windows 中运行良好,但在Ubuntu 中却不行。请帮忙。提前致谢

【问题讨论】:

  • 您正在打印对应于标题开头 (soh) 的 char i=1 printf(" %c ", i);,这是一个不可打印的字符(参见 man ascii)
  • 为什么是 y=xif(y==800) ?直接使用if(x==800){ printf("\n"); break;}
  • @terence hill : 解决方案???
  • 解决方案取决于您要打印的字符。您可以从该 ascii 手册页中看到可打印的字符。但是,您的代码不会打印笑脸,而只是打印一行相同的字符,
  • 您要在终端上打印一行笑脸还是一组组成笑脸的字符?

标签: c ubuntu


【解决方案1】:

如果要输出笑脸,则不能使用 ascii 字符。 再次,查看 ascii 人 page 以获取完整的可用字符集。

但是,如果您的终端支持,您可以使用UTF-8 编码。 下面的代码 sn-p 在我的终端上打印一个戴着墨镜的笑脸:

#include <stdio.h>

int main()
{
 char s[] = { 0xf0, 0x9f, 0x98, 0x8e, 0};

 printf("%s\n", s);
}

另一种可能是使用

printf("\u263A\n");

根据他的UTF-8页面报告C/C++/Java源代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    相关资源
    最近更新 更多