我正在开发一个程序,它可以反转所有可以被特定数字整除的给定数字。
对于前: input =“13694097” 可分数= 3; 输入中可被3整除的数字为:3,6,9,9。因此反向应为9,9,6,3。如果我们替换当前数组中的那个,那么我们得到 ouput =“19964037”
这是程序的代码。我正在尝试构建prorgram,但我一直得到以下错误:
#include <iostream>
using namespace std;
int convert_to_int(char s)
{
return s - '0';
}
void reverse_string(char *string, int length, int number)
{
char *start = string;
char *end = string+length-1;
while(true)
{
while((convert_to_int(*start) % number) != 0) {
start++;
}
while((convert_to_int(*end) % number) != 0) {
end--;
}
if(start >= end)
break;
else
{
// Swap numbers
char temp = *start;
*start = *end;
*end = temp;
}
}
return;
}
int main()
{
cout << "Hello World" << endl;
char input[] = "1253486794";
void reverse_string(input, 10, 3);
return 0;
}
错误输出:编译源代码....
$g++ -std=c++11 main.cpp -o demo -lm -pthread -lgmpxx -lgmp -lreadline 2>&1
main.cpp: In function 'int main()':
main.cpp:45:24: error: variable or field 'reverse_string' declared void
void reverse_string(input, 10, 3);
^
如何修复此错误?
答案 0 :(得分:5)
更改
void reverse_string(input, 10, 3);
到
reverse_string(input, 10, 3);