我有以下代码:
#include <stdio.h>
#include <stdlib.h>
struct Book {
char title[50];
char author[50];
char subject[100];
int numPages;
int numBooks;
int (*p) (int *, int *);
};
int sum (int *a, int *b) {
return *a + *b;
}
int main() {
struct Book var;
var.numPages = 7;
var.numBooks = 9;
int allPages = (*var.p) (&var.numPages, &var.numBooks);
printf("%d\n", allPages);
return (EXIT_SUCCESS);
}
我尝试在结构中使用函数,但我的程序没有结果,虽然我使用了 -Wall、-Wextra,但没有警告。我是新手。希望大家帮忙。
var.p
未初始化(这意味着它几乎肯定没有引用有效函数),从而产生未定义的行为。使用 var.p = sum;
在函数调用之前对其进行初始化。
我是一名优秀的程序员,十分优秀!