我正在尝试做一个函数由指针指向的程序。它如下: -
这是第一个使用“void”返回类型的程序。
#include<stdio.h>
#include<conio.h>
void CharPrint(char *ptr);
main()
{
char *str="Hello World";
void (*ptr1)(char *ptr);
ptr1=CharPrint;
if((*ptr1)(str))
printf("Done");
return 0;
}
void CharPrint(char *ptr)
{
printf("%s\n",ptr);
}
它会引发许多错误。他们是:-
第二个程序如下:-
#include<stdio.h>
#include<conio.h>
int CharPrint(char *ptr);
main()
{
char *str="Hello World";
int (*ptr1)(char *ptr);
ptr1=CharPrint;
if((*ptr1)(str))
printf("Done");
return 0;
}
int CharPrint(char *ptr)
{
printf("%s\n",ptr);
return 0;
}
该程序运行没有任何问题。
输出是: -
我的问题是,在第一个输出中,为什么它在第 9 行显示“Not an allowed type in function main”。其他行也引起了疑问,但这一行最困扰我。有什么帮助吗?