如何在C语言中打印一个圆点?

6
我想在C语言中打印以下内容。
Tonight’s schedule is:
   Pizza
   Movie
   ice cream

我不知道如何打印出圆点符号。

请查看http://www.fileformat.info/info/unicode/char/2022/index.htm。 - Sabik
2
可能是如何在C中打印非ASCII字符的重复问题。 - jwpfox
1
printf("\u2022Pizza\u2022Movie\u2022ice cream\n"); 是你正在寻找的内容。 - sjsam
C语言没有提供任何特殊的功能。你的控制台有什么能力? - Jongware
6个回答

4
下面的代码可以为您提供指导:
#include <stdio.h>

int main(int argc, char** argv)
{
  printf("Tonight’s schedule is: \u2022 Pizza \u2022 Movie \u2022 ice cream\n");
  return 0;
}

从技术上讲,那个撇号应该是\u编码或替换为ASCII'。可能只是OP的浏览器替换了这个字符,而你复制了它,但如果有人复制和粘贴它,这个例子可能会在处出现奇怪的情况。 - yellowantphil

2

• 查找html数字 &#8226; 这个链接将"\u2022"声明为C源代码编码。


1
请注意,编译器将\u2022扩展为UTF-8编码数据:"今晚的日程安排是:\342\200\242 披萨 \342\200\242 电影 \342\200\242 冰淇淋"。可能旧的编译器不理解\u符号,因此您应该自己进行编码。 - Sergio
@Serhio 这个扩展是依赖于编译器的。 - M.M
@M.M 你说得对。至少这应该是最流行的方法。 - Sergio

1
这取决于你想要显示字符的终端。 根据该终端的编码发送字符。例如,在MS Windows上(例如使用Windows 1252)或Linux上(例如使用UTF-8)是不同的。

1
你可以简单地这样做:-
puts("Tonight’s schedule is: • Pizza • Movie • ice cream");

1
在使用英语(澳大利亚)作为语言的Win7机器上输出:今晚的日程安排是:ÔÇó披萨ÔÇó电影ÔÇó冰淇淋。 - enhzflep
1
也许你需要选择英语(美国)作为语言,因为在我的Windows7机器上它完美地工作。@enhzflep - tryKuldeepTanwar
谢谢你的建议,我会试一试的。 - enhzflep
1
这在很大程度上取决于C源文件的字符集、编译器在编译源文件时假定的字符集,文本模式流所执行的任何转换,以及主机环境(包括终端)对输出字节所进行的任何转换。 - Ian Abbott
嘿,如果你觉得这个答案有帮助,请不要忘记将其标记为正确的答案。 - tryKuldeepTanwar

1
你可以使用扩展ASCII值来实现。如果你在cmd中运行程序,有时这种方法不起作用。因为你的cmd代码页不支持这些ASCII值。 将此代码粘贴到codechef在线IDE(https://www.codechef.com/ide)中并运行它,查看输出结果。这是一个可行的解决方案。
#include <iostream>
using namespace std;

#include<stdio.h>



int main(){

    char list1[]="Pizza";
    char list2[]="Movie";
    char list3[]="ice cream";
    int a=149;


   printf("%c %s %c %s %c %s",a,list1,a,list2,a,list3);



}

3
149不是ASCII值:最高的ASCII字符是127。但如果你使用Windows-1252或类似编码,你提出的方法在Windows上可以工作。另外,在声明和初始化数组时,你不需要给出数组的大小,编译器会自动计算长度。 - yellowantphil
是的,我同意你的看法。我会修复它。 - dulaj sanjaya

-1

这是将ASCII转换为字符的过程。

#include<stdio.h>
void main(){
   char a=atoi("149");
   printf("%c %s %c %s %c %s",a,"pizza",a,"movie",a,"ice cream");   
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接