Skip to content

关于ASCII编码的使用

约 195 字小于 1 分钟

2024-11-03

关于ASCII编码的使用

##目的:出租车计价

为了比较(mileage)大小时避免被编译器识别为ASCII编码

于是 (mileage <= '3')

  • double mileage, prize;
    
    if (mileage <= '3') {
      prize = 10;
      printf("1");
    } else if (mileage <= '10') {
      prize = 10 + (mileage - 3) * 2;
      printf("2");
    } else {
      prize = 24 + (mileage - 10) * 3;
      printf("3");
    }

然而

无论输入什么数,都只会执行第一句if

发现

多次修改尝试后

double mileage, prize;

if (mileage <= 3) {
  prize = 10;
  printf("1");
} else if (mileage <= 1') {
  prize = 10 + (mileage - 3) * 2;
  printf("2");
} else {
  prize = 24 + (mileage - 10) * 3;
  printf("3");
}

此时的结果

可见,此时结果正常

结论

ASCII编码只在 char型 中适用,在其他类型(类如int, double等)中只会被识别为一组数字

贡献者: edge-sky