【问题标题】:C cast literal char '0' to int 0 (zero), how?C将文字char'0'转换为int 0(零),如何?
【发布时间】:2017-05-12 22:35:50
【问题描述】:

如何将文字 char '0' 转换/转换为 int 0

即:

char string[] = "0101";
char ch = string[0];
x = magic(ch);
if (x)
    printf("int zero")

【问题讨论】:

  • 嗯...“char '0'”是您需要转换的唯一项吗?其他字符值呢?
  • 这里有关于 48 的评论。想了解更多关于这种方法的信息。
  • 48 工作在 ascii 但不是 ebcdic。 @Scott Hunters 在 s/b 便携式下方回答。
  • @AnT 的想法是将string 映射到一个位数组。
  • @KcFnMi:​​这可能意味着您需要将'0' 转换为0'1' 转换为1。值得一提的是第二部分,如果是这样的话。

标签: c casting char int type-conversion


【解决方案1】:
ch = 0;

现在,如果您想将 任何 数字字符转换为等效的数字,您需要类似以下内容:

ch = ch - '0';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 2019-11-22
    相关资源
    最近更新 更多