1 #include"stdio.h"
2 int min(int a,int b){
3 if(a<b)return a;
4 else return b;
5 }
6 main(){
7 int (*pmin)();
8 int a,b,m;
9 pmin=min;
10 printf("please input two integer numbers:\n");
11 scanf("%d,%d",&a,&b);
12 m=(*pmin)(a,b);
13 printf("min=%d",m);
14 }
有高手能帮忙解释下这个错误时什么意思吗 应该如何改正啊
9: error: invalid conversion from `int (*)(int, int)' to `int (*)()'
12: error: too many arguments to function
14:2: warning: no newline at end of file
主要是第9行的错误
pmin=&min;改了也不行 不是那个问题 pmin定义的时候就指向函数了啊
是不是软件的事啊 我用的是CFREE5.0 没问题吧?
第7行要改成:int (*pmin)(int, int);
指针与变量不能直接赋值,只有(*q)才能和变量进行赋值,并且必须先给指针分配内存空间,所以直接把q=i编程(*q)=i是不行的。
#include
#include"stdlib.h"
int
main()
{
int
i,j,k;
int
*q;
q=(int*)malloc(sizeof(int));
scanf("%d
%d
%d",&i,&j,&k);
if(i>j)
{
if(i>k)
*q=i;
else
*q=k;
}
else
*q=j;
printf("%d",*q);
return
0;
system("pause");
}
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
参考资料来源:百度百科-c语言