我正在制作一个琐事游戏,想运行我在函数中遇到的随机问题。我已创建此代码作为测试,这些不是我要运行的实际功能:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
int N = 3;
void (*func_ptr[3]) = { moreInformation, startofgame, level1}; [rand() % N]();
但是每次运行它时,我都会收到一条错误消息,说我必须在最后一对括号中放入一个标识符。是否有其他方法可以执行此操作,或者我应该在括号中添加什么作为标识符。
答案 0 :(得分: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;
}