在for循环中将char转换为int

Convert char to int in a for loop

本文关键字:转换 int char for 循环      更新时间:2023-10-16

我正在尝试将一个char转换为一个int,传递给一个方法:

volume('10');
void volume(char* number) {
  for (int i = 0; i < atoi(number); i++) {
    // do something 10 times
  }
}

变化:

volume('10');
void volume(char* number) {
  for (int i = 0; i < atoi(number); i++) {
    // do something 10 times
  }
}

:

volume("10"); // <<< note the double quotes !
void volume(const char* number) { // <<< note the const
  for (int i = 0; i < atoi(number); i++) {
    // do something 10 times
  }
}

注意:如果你在编译时启用了警告(例如gcc -Wall ...),那么上面的错误会立即显现出来。试着养成这样做的习惯,不要忽略警告—它们的存在是有充分理由的,并且通常会为您节省大量在运行时调试问题的时间,而这些问题本可以在编译时修复。