有两种选择。您可以通过引用传递整数并且没有返回值,或者您可以为您尝试返回的元组创建一个结构。
第一种方式看起来像:
void update_SEG_values(int* DIGIT_1, int* DIGIT_2) {
/* How many tens in the "TEMP_COUNT". */
*DIGIT_2 = ((TEMP_COUNT) / 10);
/* How much is left for us to display. */
TEMP_COUNT = TEMP_COUNT - ((*DIGIT_2) * 10);
/* How many ones. */
*DIGIT_1 = ((TEMP_COUNT) / 1);
}
int main() {
int x = 111, y = 222;
int result = update_SEG_values(&x, &y);
....
}
第二种方式看起来像:
struct tuple {
int DIGIT_1;
int DIGIT_2;
};
struct tuple update_SEG_values(int DIGIT_1, int DIGIT_2) {
/* How many tens in the "TEMP_COUNT". */
DIGIT_2 = ((TEMP_COUNT) / 10);
/* How much is left for us to display. */
TEMP_COUNT = TEMP_COUNT - ((DIGIT_2) * 10);
/* How many ones. */
DIGIT_1 = ((TEMP_COUNT) / 1);
struct tuple result;
result.DIGIT_1 = DIGIT_1;
result.DIGIT_2 = DIGIT_2;
return result;
}
我还注意到您没有在任何地方定义 TEMP_COUNT。它应该在 update_SEG_values 中使用它之前进行初始化,可能作为该函数的第一行。