c - 为什么 putchar(1 +'0' ) 不输出 10?

标签 c putchar

为什么 putchar 为 putchar(1+'0') 输出 '1' 而不是 '10' 但是当只传递一个字符参数时,比如 putchar('0') ,它输出它。

使用 putchar(1+'0'),我预计输出为 10。

最佳答案

putchar 始终只输出单个字符,按照名称。

'0' 是单个字 rune 字。所以它是一个整数值,代表计算机编码中的字符 0——几乎可以肯定是 ASCII。

1+'0' 字面意思是“在我的计算机编码(几乎可以肯定是 ASCII)中 0 之后的字符。这是字符 1

关于c - 为什么 putchar(1 +'0' ) 不输出 10?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74771156/

相关文章:

c - 如何修复由于递归算法引起的段错误

c - 为什么 'K'的输出个数比输入的字符多?

c - 为什么 getchar() 函数在循环中工作不同?

objective-c - EXC_BAD_ACCESS 尝试取消混淆 unsigned char 数组并将其转换为 NSString

c - 错误: request for member ‘txt’ in something not a structure or union

c - hsearch 在哪里存储数据?

c++ - 从 getchar 读取输入

C中putchar的字符集

c - putc和putchar的性能?

c - #define宏,用于在C中进行调试打印?