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

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

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

最佳答案

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

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

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

https://stackoverflow.com/questions/74771156/

相关文章:

php - 过滤消息的内容上的单词黑名单

php - 静默捕获php "file_get_contents"错误

php - 如何在 PHP 中将数字转换为字母?

unit-testing - TDD 如何处理异常和参数验证?

java - 为什么 LocalDateTime.ofInstant() 需要 ZoneId

oop - 理解对象交互的一些技巧是什么

coldfusion - 在 Coldfusion/CFML 中,如何将长十进制数格式化为标准的两位

.net - Session.Timeout 和 Server.ScriptTimeout 有什么区

c# - 我如何编写介于两个值之间的 if 语句?

amazon-ec2 - 一个 Amazon EC2 实例可以服务多少用户?