[英]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.