在for循环中将char转换为int

时间:2011-12-20 12:38:40

标签: c++ for-loop numbers char int

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

volume('10');

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

这似乎不起作用。

1 个答案:

答案 0 :(得分:8)

变化:

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 ...),那么上述错误就会立即显现出来。尝试养成这样做的习惯,不要忽略警告 - 它们存在的原因很充分,并且通常可以节省大量时间在运行时调试问题,这些问题本可以在编译时修复。