簡體   English   中英

如何使用函數指針運行隨機函數

[英]How do I run a random function with function pointers

我正在做一個瑣事游戲,想運行我在函數中遇到的隨機問題。 我已創建此代碼作為測試,這些不是我要運行的實際功能:

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

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

但是每次運行它時,我都會收到一條錯誤消息,說我必須在最后一對括號中放入一個標識符。 是否有其他方法可以執行此操作,或者我應該在括號中添加什么作為標識符。

我不知道這是否符合“更好”的要求,但這是一個簡單直接的工作示例。

#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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM