指针与变量不能直接赋值,只有(*q)才能和变量进行赋值,并且必须先给指针分配内存空间,所以直接把q=i编程(*q)=i是不行的。
有两种该法:
#include<stdio.h>
#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");
}
这样就行了
或者是#include<stdio.h>
#include"stdlib.h"
int main()
{
int i,j,k;
int *q;
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");
}
楼上几位好像没有给指针分配空间,所以有点小瑕疵,哈哈