【问题标题】:printing the char variable value using %d [duplicate]使用 %d [重复] 打印 char 变量值
【发布时间】:2019-07-13 22:19:57
【问题描述】:

我试图进入 c 编程,但在一个问题中卡住了,请解释一下。

 int main()
{
 char c = 255;
 c=c+10;
 printf("%d",c);
 return 0;
 }

它给出的输出是

> 9

请给我解释一下。

【问题讨论】:

  • @Biffen 我的错误研究我想我会删除评论

标签: c types


【解决方案1】:

一个字符的最大值是255

通过将10 添加到该号码,您将获得265

因为该值不是 char 的合适值,所以它会执行 265 % 256 导致 9

这就是为什么你的结果是9

【讨论】:

  • 模推理不太正确。您不使用模块 255,而是使用模块 256。
  • 哦,是的,因为可能有 256 个值(0 到 255)。你是对的
  • 如果charsigned 那么它是未定义的行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-07
  • 2017-01-14
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多