C言語で複数の変数を返したい時

C言語では通常の関数の使い方ではreturnによって複数の変数を返すことはできない。こういう時はポインタを使えばうまくいく。

#include <stdio.h>
void test(int a, int* p1,int *p2);
void main(void) {
    int result1,result2;
    test(5, &result1,&result2);

    printf("%d,%d",result1,result2);
}

void test(int a,int* p1, int* p2) {
    *p1 = a + 1;
    *p2 = a - 1;
}

コメント

タイトルとURLをコピーしました