【问题标题】:Write a program to fill the entire screen with a smiling face. The smiling face has an ASCII value 1编写一个程序,用一张笑脸填满整个屏幕。笑脸的 ASCII 值为 1
【发布时间】:2020-05-20 11:42:00
【问题描述】:
#include<stdio.h>
int main()
{
    int i;
    for(i = 0; i <= 5000; i++)
    {
        printf("%c", 1);
    }
    return 0;
}  

输出:程序以退出代码结束:0 在 Xcode 上运行时,我得到了这个输出。我该怎么办?

【问题讨论】:

  • '笑脸的 ASCII 值为 1' ASCII 中没有“笑脸”。值为 1 的字符是标题开始控制代码,通常不是可打印字符。
  • 在return语句前试试fflush(stdout); getchar();
  • 换句话说 - 这曾经在旧版本的 DOS 和 Windows 中“工作”(并且可能仍然在某些系统上工作),但它取决于关于用于呈现输出的字符集的操作系统设置.
  • 如今,如果您想显示任何类似的特殊字符,unicode 是最好的选择。查看unicode-table.com 以获得详尽的列表。您可以使用 "\uXXX" 打印它们,其中 XXX 是代码点(例如 \u2615 代表一杯咖啡)

标签: c character ascii special-characters


【解决方案1】:

你可以检查你的字符集是什么。

#include <stdio.h>

int main()
{
    for(int ch = 1; ch < 256; ch++)
    {
        printf("code %d \t\t%c\n", ch, ch);
    }
}

例如godbolt OS和工具链https://godbolt.org/z/3g_VE5

【讨论】:

  • 建议...#include &lt;limits.h&gt;for (int ch = CHAR_MIN; ch &lt;= CHAR_MAX; ch++) { /* ... */ }
【解决方案2】:

输出:程序以退出代码结束:0。我在 Xcode 上运行时收到此输出。我该怎么办?

这不是程序本身的正确输出。这意味着程序成功终止,没有发生任何错误。

关于你的作业,不可能用 ASCII1 打印笑脸,因为在任何常规 ASCII 集中,它是“标题开头”的控制字符,表示不可打印。

1 的笑脸符号属于仅用于 MS DOS 控制台的扩展字符集。如果打印 1 没有可见的输出,则您的终端使用标准 ASCII 字符集,并且打印 1 您实际上会触发 SOH(标题开始)。

如果您想打印笑脸,请改用 "\u263A" 的相应 Unicode 字符串:

printf("%s", "\u263A");

注意将%c 更改为%s 以打印字符串。

你还需要 f.e.如果终端没有调整到终端的输出,则两个嵌套循环将填满整个屏幕而不仅仅是一行。


结果:

#include <stdio.h>

int main (void)
{
    int i,j;

    for(i = 0; i <= 70; i++)
    {
        for (j = 0; j <= 50; j++)
        {
            printf("%s", "\u263A");
        }

        printf("\n");
    }

    return 0;
}  

输出(截断):

☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺

【讨论】:

    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    相关资源
    最近更新 更多