English 中文(简体)
为什么印刷(“10110210310410512”);印刷版
原标题:Why printf("10110210310410512"); print ABCDE
  • 时间:2023-12-11 02:42:04
  •  标签:
  • c
  • printf
#include <stdio.h>

int main()
{
    printf("10110210310410512");
    return 0;
}

In gcc compiler when I execute this code it prints ABCDE. If I call printf with a string like printf("101110210310410512") it prints A1BCDE. Why does it behave like this?

最佳回答

Certain characters can be represented in character and string constants by escape sequences like (newline); these sequences look like two characters, but represent only one. In addition, an arbitrary byte-sized bit pattern can be specified by ooo where ooo is one to three octal digits (0...7) or by xhh where hh is one or more hexadecimal digits (0...9, a...f, A...F).

- K&R 《方案拟订语言》第2.3章

特别注意“one to three octal 位数”一语

问题回答

<代码>101 产生于101 octal = 41 hex = 65 decimal。 您的终端显示,由于它期望UTF-8或其他一些ASCII-衍生工具编码编码,因此按字母顺序显示为A

八月份的越狱顺序可以长到三位数,因此额外编码<1><>1>仅为<1>>>>。

根据我的研究结果,我发现,他们重新命名了职业越狱顺序,在“<>条码/代码”之后,每3位数都算为职业编号。 阁下:

101 in octal is equal to 65 in decimal , which in ASCII Code is A.

Similarly, 102 represents 66 in decimal, which in ASCII is B

103 represents 67 in decimal, which in ASCII is C and so on...

但是,就<代码>1011而言,它印刷了<代码>A1。 因为只有头3位数被转换成正文,即:101/code>有效,但此后并非1。 http://code>101为A, 1仅为1。

希望有助于你们。 Dunno,为什么你使用这些途径?





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...