c++ - 在 for 循环中将 char 转换为 int

标签 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
  }
}

这似乎不起作用。

最佳答案

改变:

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

关于c++ - 在 for 循环中将 char 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575566/

相关文章:

R:将增量编号分配给包含相同标签的行

javascript - 这如何在递归中变成数字? JavaScript

java - 在java中将实数隔离在复数中

c++ - 为什么我的 forloop,在我的 lexical_words 函数中,没有将我的字符串数组 ('keyWords"中的单词与我的字符串迭代器中的单词进行比较?

c++ - Radix/Patricia Trie 的 STYLish 下界函数

c++ - ofstream.put();不写整数?

c++ - 没有相互引用和智能指针的观察者模式实现

python - 数字 1 - 1000 的素数测试

c++ - 使用 C++11 迭代语法时从 STL 列表中删除

c++ - 将现有的 C++ openGL 项目从 glut/freeglut 转换为 glfw