c - 我该如何让这个指针工作?

标签 c function pointers scanf

我有两个功能。一种称为 play_card,一种称为 scan_card。

如您所见,在 scan_card 函数中,它扫描了 3 个数字。但是,我需要将这三个数字返回给 play_card。我怎样才能用指针做到这一点?

void play_card(void) {

    int card_one;
    int card_two;
    int card_three;

    int card_array[] = {0};

    // Calls the scan_card function
    play_scanner(card_array);
    }

// Scans in the cards a user puts in
void scan_card(int card_array[]) {

    int num1;
    int num2;
    int num3;

    scanf("%d %d %d", &num1, &num2, &num3);

    *card_one = num1;
    *card_two = num2;
    *card_three = num3;
}

最佳答案

这是我想到的最简单的实现。

#include <stdio.h>
#include <stdlib.h>

void play_card(void);
void scan_card(int* card_array[]);


int main()
{
    play_card();
    return 0;
}

void play_card(void)
{
    int* card_array[3];

    // Calls the scan_card function
    scan_card(card_array);
    int card_one = *card_array[0];
    int card_two = *card_array[1];
    int card_three = *card_array[2];
    printf("\n%d\n%d\n%d\n" , card_one , card_two , card_three);
}

// Scans in the cards a user puts in
void scan_card(int* card_array[])
{

    int num1;
    int num2;
    int num3;

    scanf("%d %d %d", &num1, &num2, &num3);

    card_array[0] = &num1;
    card_array[1] = &num2;
    card_array[2] = &num3;
}

关于c - 我该如何让这个指针工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50287819/

相关文章:

c - Pthreads - 内存不足?

javascript - 回调函数未按预期工作

c++ - 函数是否可能只接受给定参数的一组有​​限类型?

c - 为什么没有不可变的整数集而不可变的字符集是可能的?

C如何在unsigned int指针之间进行异或

c - 在 C 中从文件扫描到数组

mysql - MySQL 重新连接标志值是什么意思?

c - 将unsigned char数组转换为uint8_t数组?

python - 在 Python 中用字符串替换类方法

c# - 如何将字节指针转换为结构