我不知道为什么这不起作用。我正在尝试创建一个传递整数和字符串并返回字符串的函数。
string convertThousands(int val, string roman)
{
piece = (val / THOUSANDS);
for (int i = 0; i < piece; i++)
{
roman += 'M';
}
val %= THOUSANDS;
return roman;
}
在我的主函数中,我会像下面这样调用它:
string roman;
roman = convertThousands;
最佳答案
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef char* string;
#define THOUSANDS 1000
string convertThousands(int *val, string roman){
int piece = (*val / THOUSANDS);
for (int i = 0; i < piece; i++){
strcat(roman , "M");
}
*val %= THOUSANDS;
return roman;
}
int main(){
string roman = malloc(1024);
strcpy(roman, "");
int year = 2014;
roman = convertThousands(&year, roman);
printf("%d, %s\n", year, roman);
free(roman);
return 0;
}
<小时/>
#include <iostream>
#include <string>
using namespace std;
const int THOUSANDS = 1000;
string convertThousands(int &val, string roman){
int piece = val / THOUSANDS;
for (int i = 0; i < piece; i++){
roman += 'M';
}
val %= THOUSANDS;
return roman;
}
int main(){
string roman("");
int val = 2014;
roman = convertThousands(val, roman);
cout << val << ',' << roman << endl;
return 0;
}
关于c++ - 传入字符串和整数的字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328004/