我正在尝试将char转换为传递给方法的int:
volume('10');
void volume(char* number) {
for (int i = 0; i < atoi(number); i++) {
// do something 10 times
}
}
这似乎不起作用。
答案 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 ...
),那么上述错误就会立即显现出来。尝试养成这样做的习惯,不要忽略警告 - 它们存在的原因很充分,并且通常可以节省大量时间在运行时调试问题,这些问题本可以在编译时修复。