如何使用函数指针运行随机函数

问题描述 投票:-1回答:1

我正在制作一个琐事游戏,并希望运行我在函数中的随机问题。我已经创建了这个代码作为测试,这些不是我将运行的实际函数:

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

int N = 3;
void (*func_ptr[3]) = { moreInformation, startofgame, level1}; [rand() % N]();

但每次我运行它时都会收到一个错误,说我必须在最后一对括号中加上一个标识符。是否有不同的方法来做这个或我应该把什么作为标识符放在括号中。

c random
1个回答
1
投票

我不知道这是否属于“不同和更好”,但它是一个简单而直接的工作示例。

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

void question1(void) {
    puts("Question 1");
}

void question2(void) {
    puts("Question 2");
}

void question3(void) {
    puts("Question 3");
}

void (*function_ptr[3])(void) = {question1, question2, question3 };

int main(void)
{
    srand((unsigned)time(NULL));
    (*function_ptr[rand() % 3])();
    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.